我浏览了许多示例,但找不到正确的代码。我有以下很长的xml页面。
<Image>
<Name>46594867_1.jpg</Name>
<Style>InspectionNonAnnotated</Style>
<PixelSize>
<x>4.7355760022126594</x>
<y>4.7362810178726678</y>
</PixelSize>
<ImageROI>
<x>243.54022216796875</x>
<y>245.4705810546875</y>
<Height>8.75</Height>
<Width>11.25</Width>
</ImageROI>
</Image>
<Image>
<Name>46594867_2.jpg</Name>
<Style>InspectionStandardDeviation</Style>
<PixelSize>
<x>4.7355760022126594</x>
<y>4.7362810178726678</y>
</PixelSize>
<ImageROI>
<x>243.54022216796875</x>
<y>245.4705810546875</y>
<Height>8.75</Height>
<Width>11.25</Width>
</ImageROI>
</Image>
<Image>
<Name>46594867_3.jpg</Name>
<Style>InspectionReference</Style>
<PixelSize>
<x>4.7355760022126594</x>
<y>4.7362810178726678</y>
</PixelSize>
<ImageROI>
<x>243.54022216796875</x>
<y>245.4705810546875</y>
<Height>8.75</Height>
<Width>11.25</Width>
</ImageROI>
</Image>
这是代码的一部分,在imageList下,我有以下nodeList。 我使用以下代码提取了节点列表:
nodeList = xdoc.GetElementsByTagName("Image");
{
foreach (XmlNode node in nodeList)
{
xmlCordinates cordinates = new xmlCordinates();
cordinates.fileName = node["Name"].InnerText;
cordinates.X = Convert.ToDouble(node["ImageROI/x"].InnerText);
cordinates.Y = Convert.ToDouble(node["ImageROI/y"].InnerText);
ListCordintes.Add(cordinates);
}
}
在此代码中,我可以读取节点名称的值,但是x和y失败,因为它们是子节点。在这里阅读它们的最佳方法是什么?
答案 0 :(得分:0)
在这里。
xmlCordinates cordinates = new xmlCordinates();
cordinates.fileName = node["Name"].InnerText;
cordinates.X = Convert.ToDouble(**node.ChildNodes[2]["x"].InnerText**);
cordinates.Y = Convert.ToDouble(**node.ChildNodes[2]["y"].InnerText**);
ListCordintes.Add(cordinates);