次のようなxmlファイルがあります
<Name>AAA</Name>
<Age>23</Age>
<I1>
<Element1>A</Element1>
<Element2>B</Element2>
<Element3>C</Element3>
<\I1>
<I2>
<Element1>AA</Element1>
<Element2>BB</Element2>
<Element3>CC</Element3>
</I2>
C# 3.0 で xmlreader を使用して要素のすべての値を読み取っています。しかし、特定の開始タグと終了タグ内の値のみを読み取って変更する必要があります。上記のxmlファイルの場合、デフォルトで を読み取る必要があり、<Name>
基本<Age>
的に要素名である値「I1」または「I2」を返す関数があります。「I1」が返された場合は、 と の間の要素のみを読み取る<I1>
必要</I1>
が<I2>
あり、その逆も同様です。したがって、コード構造は次のようになります(ロジックだけは構文エラーを無視してください)
/******function that returns element name I1 or I2*********/
string elementName = func(a,b);
xmlreader reader = reader.create("test.xml");
while(reader.read())
{
switch(reader.nodetype)
{
case xmlnodetype.element:
string nodeName = reader.name
break;
case xmlnodetype.text
switch(nodeName)
{
/*************Read default name and age values*******/
case "Name":
string personName = reader.value
break;
case "Age":
string personAge = reader.value;
break;
/*******End of reading default values**************/
/*** read only elements between the value returned by function name above
If function returns I1 then i need to read only values between <I1> </I1> else read </I2> and </I2>**/
}
}
}
ありがとう!