我已将xml结构存储到字符串 abcd 。
中 string abcd="<xmlstruct>
<test>
<name>testname</name>
<address>testaddress</address>
<subject>testsub<subject>
</test>
<test1>
<name>testname1</name>
<address>testaddress1</address>
<subject>testsub<subject>
</test1>
<test2>
<name>testname2</name>
<address>testaddress2</address>
<subject>testsub2<subject>
</test2>
<test3>
<name>testname3</name>
<address>testaddress3</address>
<subject>testsub3<subject>
</test3>
</xmlstruct>";
我从字符串中检索了xml值,如
var xElem = XElement.Parse(abcd);
string getname = xElem.Element("test").Element("name").Value;
string getname1 = xElem.Element("test1").Element("name").Value;
string getname2 = xElem.Element("test2").Element("name").Value;
string getname3 = xElem.Element("test3").Element("name").Value;
工作正常。我的问题是,“有没有办法制作循环并获得测试,test1,test2,test3值?”
答案 0 :(得分:2)
您对"test0"
的选择有点不规范,但应该这样做:
for (int i = 0; i < N; i++)
{
string suffix = i > 0 ? i.ToString() : "";
string getname = xElem.Element("test"+suffix).Element("name").Value;
...
}
但是你可能应该研究一个更好的XML结构,比如
<test id="1">
<name>testname2</name>
<address>testaddress2</address>
<subject>testsub2<subject>
</test>