Чтение перечисления XML не дало результатов - PullRequest
0 голосов
/ 23 февраля 2019

У меня следующий код C # для чтения значений из файла XML.Но когда я расширяю результат, он говорит: «Перечисление не дало результатов»

Вопросы

  1. В чем здесь проблема?
  2. Какчтобы это исправить?
  3. Как прочитать значение элемента "family"

Примечание : я видел похожие вопросы в переполнении стека и других форумах и пыталсярекомендации уже.

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>

1 Ответ

0 голосов
/ 23 февраля 2019

Не существует assignedPerson, который является дочерним для коллекции doc.Elements().

Попробуйте вместо этого:

    XNamespace ns = "urn:hl7-org:v3";
    IEnumerable<XElement> result =
        doc
            .Descendants(ns + "assignedPerson")
            .Descendants(ns + "family");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...