首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在c#中获取xml节点?

如何在c#中获取xml节点?
EN

Stack Overflow用户
提问于 2012-09-03 18:09:17
回答 4查看 212关注 0票数 0

我试图从一个xmldocument中获取成本节点,但是我不知道如何设置正确的xpath表达式。下面是我的c#代码:

代码语言:javascript
复制
XmlNode n = reportFields.SelectSingleNode(field[1].Trim());

field1是我的xpath,是一个以下字符串:

代码语言:javascript
复制
"    /Report/Tablix6/RowGroup_Collection/RowGroup/@Cost"

这是reportFields的innerXml属性的一部分:

代码语言:javascript
复制
"<?xml version=\"1.0\" encoding=\"utf-8\"?>
<Report Name=\"Sample\">
<Tablix6>
    <RowGroup_Collection>
        <RowGroup Cost=\"1199\" />
    </RowGroup_Collection>
</Tablix6>

有什么想法吗?

编辑:

执行此代码后,n为空。

EDIT2:以下是xmlDocument的更新版本:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?> 
<Report xsi:schemaLocation="Telephony http://serverName" 
Name="Telephony" 
Textbox1="Telephony total cost" 
Textbox6="Updated: 2010-4" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="Telephony">
<Tablix6>
    <RowGroup_Collection>
        <RowGroup CostSEK="13.908239364624" /> 
    </RowGroup_Collection>
</Tablix6>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-09-04 18:43:09

好吧,我想办法解决了。事实证明,我必须创建一个名称空间并修改我的XPath字符串以反映这一点:

XPath:

代码语言:javascript
复制
ns:Report/ns:Tablix6/ns:RowGroup_Collection/ns:RowGroup/@CostSEK

C#:

代码语言:javascript
复制
XmlNamespaceManager namespaces = new XmlNamespaceManager(reportFields.NameTable);
namespaces.AddNamespace("ns", "Telephony");
XmlNode n = reportFields.SelectSingleNode(field[1].Trim(), namespaces);
票数 1
EN

Stack Overflow用户

发布于 2012-09-03 18:16:54

试一试

代码语言:javascript
复制
XmlNode n = reportFields.SelectSingleNode("/Report/Tablix6/RowGroup_Collection/RowGroup").Attributes["Cost"];

然后可以使用n.Value访问该节点的值,因此

代码语言:javascript
复制
Console.Writeline(n.Value);

应输出"1199“

票数 0
EN

Stack Overflow用户

发布于 2012-09-03 18:18:07

请尝试:

代码语言:javascript
复制
object attr = reportFields.SelectSingleNode(field[1].Trim()).Value;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12245772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档