0
<myroot>
  some data.
</myroot>

上記のようなデータを含むxmlファイルがあります。間に来るすべてのデータを取得したい

 <myroot> and </myroot>

文字列変数に。

私にはいくつかの制限があります。つまり、これには XMLTextReader のみを使用する必要があります。これを行うには、xdocument を使用せずに XmlTextReader を使用するだけです。

4

3 に答える 3

0

に子ノードがない場合は、 XmlReader.ReadElementContentAsString<myroot>を選択します。

string content = reader.ReadElementContentAsString();

ReadElementContentAsString現在のノードを消費し、リーダーを次の要素に進めます。

子ノードがある場合は、何をしたいかによって異なります。内部XMLが必要な場合は、Adamのソリューションを使用する必要があります。子ノードのコンテンツが必要な場合は、XMLを再帰的にトラバースする必要があります。そこであなたを助けるために、あなたはあなたが何を達成しようとしているのかを正確に説明する必要があります。

于 2012-05-18T09:59:46.673 に答える
0

xmlnodelistが必要で、その後、ノードを通過するforeachループが必要です。xmlNodeタイプにはinnerHtmlプロパティがあります。例:myxmlNode.SelectSingleNode( "// REVNR")。InnerText

于 2012-05-18T09:51:16.087 に答える
0

それはそれを行う方法です。非常に基本的な形式でxmlを読み取る方法の簡単な例を以下に示します。それを使用していくつかのロジックを作成することを確認してください

XmlTextReader reader = new XmlTextReader ("books.xml");

while (reader.Read()) 
{
    switch (reader.NodeType) 
    {
        case XmlNodeType.Element: // The node is an element.
            Console.Write("<" + reader.Name);
            Console.WriteLine(">");
            break;
        case XmlNodeType.Text: //Display the text in each element.
            Console.WriteLine (reader.Value);
            break;
        case XmlNodeType. EndElement: //Display the end of the element.
            Console.Write("</" + reader.Name);
        Console.WriteLine(">");
            break;
    }
}
于 2012-05-18T09:53:49.650 に答える