【发布时间】:2016-03-22 23:46:21
【问题描述】:
我尝试在 C# 中使用 XDocument,但在接收所需元素时遇到了一些问题。这是我的示例 xml
<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
<f href="@{pdffile}"/>
<ids modified="BF43C70442ECB74FA49833BBA44D4679" original="B4870CC046121A41B7D8F0838C87256D"/>
<fields>
<field name="FormInstanceID"><value>@{instanceid}</value></field>
<field name="meta_7"><value>@{meta_7}</value></field>
<field name="meta_6"><value>@{meta_6}</value></field>
<field name="meta_8"><value>@{meta_8}</value></field>
<field name="meta_3"><value>@{meta_3}</value></field>
<field name="meta_2"><value>@{meta_2}</value></field>
<field name="meta_5"><value>@{meta_5}</value></field>
<field name="meta_4"><value>@{meta_4}</value></field>
<field name="meta_1"><value>@{meta_1}</value></field>
<field name="tag_5"><value>@{tag_5}</value></field>
<field name="tag_1"><value>@{tag_1}</value></field>
<field name="tag_2"><value>@{tag_2}</value></field>
<field name="tag_3"><value>@{tag_3}</value></field>
<field name="TAGS"><value>@{TAGS}</value></field>
<field name="tag_4"><value>@{tag_4}</value></field>
<field name="qr"><value>@{qr}</value></field>
<field name="metadata"><value>@{metadata}</value></field>
<field name="pdx.dynform.email"><value>@{pdx.dynform.email}</value></field>
</fields>
</xfdf>
假设给定的 XML 我想用 XDocument 提取字段值。目前我没有收到任何使用这种方法的条目
XDocument xfdfData = XDocument.Load(xfdf);
var result = xfdfData.Descendants("fields");
文件已成功加载到 xfdfData 对象中,但 Descendants("fields") 确实找到了任何节点。
【问题讨论】:
-
试试:xfdfData.Root.Descendants("fields");
-
@Kevin:不,这无济于事。问题在于命名空间。