0

xml ドキュメント内のノードを読み取ろうとしているという奇妙な問題がありますが、内部テキストに基づいて見つけることができるノードの後に​​ノード内部テキストを読み取る必要があります。

私はxml文書を持っています

<?xml version="1.0"?>
<DataFeedObject xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <TransactionID>a4b0ecc1-2d28-49f4-b9c7-caec861aa80d</TransactionID>
  <ApplicationID>b0926229-3209-4881-8cf3-cf4a88756a7f</ApplicationID>
  <TransactionDateTime>2016-04-25T21:03:49.5805295Z</TransactionDateTime>
  <DataItems>
    <DataItem>
      <Name>Account_Type</Name>
      <Value>Cash</Value>
    </DataItem>
    <DataItem>
      <Name>Account_Type_MarginDetails</Name>
    </DataItem>
    <DataItem>
      <Name>Agent_FirstName</Name>
      <Value>Jane</Value>
    </DataItem>
    <DataItem>
      <Name>Agent_IDNumber</Name>
      <Value>12547896</Value>
    </DataItem>
    <DataItem>
      <Name>Agent_LastName</Name>
      <Value>Doe</Value>
    </DataItem>
 </DataItems>
....

ノードをループして、ノード Agent_LastName を見つけることができます

node.SelectSingleNode("Name").InnerText == "Agent_LastName"

しかし、このノードの直後の Value タグにあるテキストが必要です。次のノードに進むにはどうすればよいですか。

ノード ant を見つけたときにフラグを設定し、次の反復で内部テキストを取得することもできますが、これはずさんなようです。

4

2 に答える 2

-1

少し遊んだ後、これが機能することがわかりました

   if (node.SelectSingleNode("Name").InnerText == "Agent_LastName")
    {
      string name = node.SelectSingleNode("Value").InnerText
    }

唯一の問題は、ノード リスト "DataItems/DataItem" 内のすべてのノードを反復処理することによってのみ、これを機能させることができることです。

于 2016-05-04T20:48:53.667 に答える