0

私は実際にリストされている値を選択しようとしています

    SOPDetail  
    TargetInfo   
DomesticJurisidiction

それぞれが他の子ノードです。反復を行うと、ノード DomesticJurisidiction が見つかりますが、xpath を使用して選択すると見つかりません。理由について誰か提案がありますか?

        /*XmlNode targetNode = xDoc.SelectSingleNode("/SOPDetail/TargetInfo/DomesticJurisidiction");
        string haha = targetNode.InnerXml;*/

        foreach (XmlNode xmlNode in xDoc.ChildNodes)
        {
            Console.WriteLine(xmlNode.Name);
            foreach (XmlNode chldNode in xmlNode.ChildNodes)
            {
                Console.WriteLine(chldNode.Name);
                foreach (XmlNode cNode in chldNode.ChildNodes)
                {
                    Console.WriteLine(cNode.Name + ":" + cNode.InnerXml);
                }
            }
        }

前に述べたように、foreach 反復はこのノードを完全に検出しますが、SelectsingleNode を使用して選択できないのはなぜですか?

<SOPDetail LogId="324" LastModified="2007-05-20T09:20:50" xmlns="http://usop.ctadvantage.com/">
  <TargetInfo>
    <DomesticJurisdiction>Connecticut</DomesticJurisdiction>
    <ServedName>CT Demo Account (All State Corp)</ServedName>
    <ServedJurisdiction>New York</ServedJurisdiction>
    <NameDiscrepancyExists>false</NameDiscrepancyExists>
    <Defendant>Test</Defendant>
  </TargetInfo>
  <LawsuitInfo>
    <ReceiptDate>2007-05-20</ReceiptDate>
    <CreatedDate>2007-05-20T08:41:38</CreatedDate>
    <MethodOfService>Courier</MethodOfService>
    <LawsuitType>Other</LawsuitType>
    <LawsuitSubType>Documents requiring hard copy delivery</LawsuitSubType>
    <AnswerDate />
    <DocumentServed>Acknowledgment of Service</DocumentServed>
    <NatureOfAction>
      Notifying of Dft. 's No Opposition Summary Judgment Motion and Order
    </NatureOfAction>
  </LawsuitInfo>
  <CaseType>Standard</CaseType>
  <Remark />
  <CourtInfo>
    <Name />
    <AddressLine1 />
    <AddressLine2 />
    <AddressLine3 />
    <AddressLine4 />
    <City />
    <County />
    <State />
    <Zip />
    <Country />
    <Phone />
    <Fax />
    <Email />
  </CourtInfo>
  <AttorneyInfo>
    <Name />
    <AddressLine1 />
    <AddressLine2 />
    <AddressLine3 />
    <AddressLine4 />
    <City />
    <County />
    <State />
    <Zip />
    <Country />
    <Phone />
    <Fax />
    <Email />
    <LawFirmName />
  </AttorneyInfo>
  <AgencyInfo>
    <Name />
    <AddressLine1 />
    <AddressLine2 />
    <AddressLine3 />
    <AddressLine4 />
    <City />
    <County />
    <State />
    <Zip />
    <Country />
    <Phone />
    <Fax />
    <Email />
  </AgencyInfo>
  <CaseInfo>
    <CaseNumber />
    <Plaintiff />
  </CaseInfo>
  <DocId>123asdf234</DocId>
</SOPDetail>
4

2 に答える 2

2

Xml 名前空間を使用することを忘れないでください

XmlNamespaceManager nsMgr = new XmlNamespaceManager(xDoc.NameTable);
nsMgr.AddNamespace("x", "http://usop.ctadvantage.com/");
XmlNode targetNode = xDoc.SelectSingleNode("/x:SOPDetail/x:TargetInfo/x:DomesticJurisdiction", nsMgr);
于 2013-09-25T18:07:08.800 に答える
1

あなたはそれを間違って綴った:

   /*XmlNode targetNode = xDoc.SelectSingleNode("/SOPDetail/TargetInfo/DomesticJurisidiction");

国内管轄

対。

国内管轄

于 2013-09-25T17:59:51.390 に答える