读取 XML 枚举没有结果
Reading XML Enumeration yielded no results
我有以下 C# 代码从 XML 文件中读取值。但是当我展开结果时,它说“Enumeration yielded no results”
问题
- 这里有什么问题?
- 如何解决这个问题?
- 如何读取"family"元素的值
注意:我在 stack overflow 和其他论坛上看到过类似的问题,并且已经尝试过这些建议。
C#
XElement doc = XElement.Load(@"Test.xml");
XNamespace ns = "urn:hl7-org:v3";
IEnumerable<XElement> childList = from el in doc.Elements() select el;
IEnumerable<XElement> result = childList.Elements(ns+ "assignedPerson");
XML
<?xml version="1.0" encoding="UTF-8"?>
<ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:sdtc="urn:hl7-org:sdtc" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fn="http://www.w3.org/2005/xpath-functions" >
<realmCode code="US"/>
<typeId root="2.16.840.1.1" extension="POCD_HD000040"/>
<languageCode code="en-US"/>
<author>
<time value="334455"/>
<assignedAuthor>
<id root="2.16.840.1.113883" extension="771544"/>
<code codeSystem="2.16.840.1" codeSystemName="Provider Codes" code="207R00000X" displayName="Nephrology"/>
<addr use="WP">
<city>East Point</city>
</addr>
<telecom use="WP" value="tel:(xxx)xxx-xxxx"/>
<assignedPerson>
<name>
<prefix>Mrs</prefix>
<given>Test</given>
<family>Martin</family>
<suffix>NP</suffix>
</name>
</assignedPerson>
</assignedAuthor>
</author>
</ClinicalDocument>
没有 assignedPerson
是 doc.Elements()
集合的子集合。
试试这个:
XNamespace ns = "urn:hl7-org:v3";
IEnumerable<XElement> result =
doc
.Descendants(ns + "assignedPerson")
.Descendants(ns + "family");
我有以下 C# 代码从 XML 文件中读取值。但是当我展开结果时,它说“Enumeration yielded no results”
问题
- 这里有什么问题?
- 如何解决这个问题?
- 如何读取"family"元素的值
注意:我在 stack overflow 和其他论坛上看到过类似的问题,并且已经尝试过这些建议。
C#
XElement doc = XElement.Load(@"Test.xml");
XNamespace ns = "urn:hl7-org:v3";
IEnumerable<XElement> childList = from el in doc.Elements() select el;
IEnumerable<XElement> result = childList.Elements(ns+ "assignedPerson");
XML
<?xml version="1.0" encoding="UTF-8"?>
<ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:sdtc="urn:hl7-org:sdtc" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fn="http://www.w3.org/2005/xpath-functions" >
<realmCode code="US"/>
<typeId root="2.16.840.1.1" extension="POCD_HD000040"/>
<languageCode code="en-US"/>
<author>
<time value="334455"/>
<assignedAuthor>
<id root="2.16.840.1.113883" extension="771544"/>
<code codeSystem="2.16.840.1" codeSystemName="Provider Codes" code="207R00000X" displayName="Nephrology"/>
<addr use="WP">
<city>East Point</city>
</addr>
<telecom use="WP" value="tel:(xxx)xxx-xxxx"/>
<assignedPerson>
<name>
<prefix>Mrs</prefix>
<given>Test</given>
<family>Martin</family>
<suffix>NP</suffix>
</name>
</assignedPerson>
</assignedAuthor>
</author>
</ClinicalDocument>
没有 assignedPerson
是 doc.Elements()
集合的子集合。
试试这个:
XNamespace ns = "urn:hl7-org:v3";
IEnumerable<XElement> result =
doc
.Descendants(ns + "assignedPerson")
.Descendants(ns + "family");