1

我已将 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 值?”

4

1 回答 1

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>
于 2012-10-15T10:15:40.057 回答