C# 把问题解决了。如果他将第一个XPath表达式调整为/PressRelease/PressRelease,然后对结果进行迭代,他可以获得相同的结果。但是使用LINQ到XML更优雅。@Dirk Thank:)已经发布了带有正确XPath选择器+1的修复解决方案
C# 把问题解决了。如果他将第一个XPath表达式调整为/PressRelease/PressRelease,然后对结果进行迭代,他可以获得相同的结果。但是使用LINQ到XML更优雅。@Dirk Thank:)已经发布了带有正确XPath选择器+1的修复解决方案,c#,xml,xmlnode,C#,Xml,Xmlnode,把问题解决了。如果他将第一个XPath表达式调整为/PressRelease/PressRelease,然后对结果进行迭代,他可以获得相同的结果。但是使用LINQ到XML更优雅。@Dirk Thank:)已经发布了带有正确XPath选择器+1的修复解决方案,以实际指出问题所在。如果他将第一个XPath表达式调整为/PressRelease/PressRelease,然后对结果进行迭代,他可以获得相同的结果。但使用LINQ到XML更优雅。@Dirk Thank:)已经发布了带有正确XPath选择器
把问题解决了。如果他将第一个XPath表达式调整为
/PressRelease/PressRelease
,然后对结果进行迭代,他可以获得相同的结果。但是使用LINQ到XML更优雅。@Dirk Thank:)已经发布了带有正确XPath选择器+1的修复解决方案,以实际指出问题所在。如果他将第一个XPath表达式调整为/PressRelease/PressRelease
,然后对结果进行迭代,他可以获得相同的结果。但使用LINQ到XML更优雅。@Dirk Thank:)已经发布了带有正确XPath选择器的固定解决方案
<?xml version="1.0"?>
<PressReleases>
<PressRelease id="545" version="1">
<Name>Convert number to string</Name>
<Date>20/05/1985</Date>
<Input>1</Input>
<Output>One</Output>
</PressRelease>
<PressRelease id="544" version="1">
<Name>Find succeeding characters</Name>
<Date>19/05/1985</Date>
<Input>abc</Input>
<Output>def</Output>
</PressRelease>
<PressRelease id="543" version="1">
<Name>Convert multiple numbers to strings</Name>
<Date>17/05/1985</Date>
<Input>123</Input>
<Output>One Two Three</Output>
</PressRelease>
<PressRelease id="542" version="1">
<Name>Find correlated key</Name>
<Date>02/05/1985</Date>
<Input>a1</Input>
<Output>b1</Output>
</PressRelease>
<PressRelease id="541" version="1">
<Name>Count characters</Name>
<Date>04/02/1985</Date>
<Input>This is a test</Input>
<Output>14</Output>
</PressRelease>
<PressRelease id="540" version="1">
<Name>Another Test</Name>
<Date>09/01/1985</Date>
<Input>Test Input</Input>
<Output>10</Output>
</PressRelease>
</PressReleases>
XmlDocument doc = new XmlDocument();
doc.Load(@"C:\Users\ARNAUDR\Desktop\test.xml");
//string xmlcontents = doc.InnerXml;
XmlNodeList xnList = doc.SelectNodes("/PressReleases");
List<int> IDsInDistantXML = new List<int>();
foreach (XmlNode xn in xnList)
{
XmlNode PressRelease = xn.SelectSingleNode("PressRelease");
if (PressRelease != null)
{
IDsInDistantXML.Add(Convert.ToInt16(PressRelease.Attributes["id"].Value));
}
}
XDocument xdoc = XDocument.Load(@"C:\Users\ARNAUDR\Desktop\test.xml");
List<int> ids = xdoc.Root.Elements("PressRelease")
.Select(pr => (int)pr.Attribute("id"))
.ToList();
XmlNodeList pressReleases = doc.SelectNodes("/PressReleases/PressRelease");
List<int> IDsInDistantXML = new List<int>();
foreach (XmlNode pr in pressReleases)
IDsInDistantXML.Add(Convert.ToInt32(pr.Attributes["id"].Value));
List<int> IDsInDistantXML = new List<int>();
foreach (var xn in doc.SelectNodes("/PressReleases/PressRelease"))
{
IDsInDistantXML.Add(Convert.ToInt16(xn.Attributes["id"].Value));
}