我有一个像这样的xml:
<People>
<PersonID>5</PersonID>
<PersonID>7</PersonID>
<PersonID>9</PersonID>
</People>
我想创建一个包含所有 id 的字符串,如下所示:“5,7,9”。
我知道用一个简单的循环是可能的,但由于这个代码每秒会被调用 100 次,所以我想使它成为最快的方法。
我在用着C#框架4.0。
我当前的代码:
XmlDocument doc = new XmlDocument();
XmlNodeList nodeList;
StringBuilder strXml = new StringBuilder();
doc.LoadXml(sXmlQuery);
nodeList = doc.SelectNodes("//PersonID");
if (nodeList != null)
{
foreach (XmlNode node in nodeList)
{
strXml.Append(node.InnerText.Trim());
strXml.Append(",");
}
}
您可以使用LINQ 到 XML with 字符串连接 like:
XDocument xmlDoc = XDocument.Parse(@"<People>
<PersonID>5</PersonID>
<PersonID>7</PersonID>
<PersonID>9</PersonID>
</People>");
var val = xmlDoc.Descendants("People")
.SelectMany(r => r.Elements("PersonID"))
.Select(r => r.Value);
string str = string.Join(",", val);
str
将str = "5,7,9"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)