[英]xml reading nodes and children nodes
i have this xml: 我有这个XML:
<?xml version="1.0" encoding="UTF-8"?>
<Dictionary>
<Object name="Ship">
<Struct_Name>tb_Ship</Struct_Name>
<Owner> ..... </Owner>
<Parameters>
<Parameter>
<Eng_Name>.....</Eng_Name>
<Discr>.....</Discr>
<Type>.....</Type>
</Parameter>
<Parameter>
<Eng_Name>......</Eng_Name>
<Discr>.........</Discr>
<Type>.................</Type>
</Parameter>
</Object>
<Object name="Car">
<Struct_Name>tb_Car</Struct_Name>
<Owner> ..... </Owner>
<Parameters>
<Parameter>
<Eng_Name>.....</Eng_Name>
<Discr>.....</Discr>
<Type>.....</Type>
</Parameter>
<Parameter>
<Eng_Name>......</Eng_Name>
<Discr>.........</Discr>
<Type>.................</Type>
</Parameter>
</Object>
</Dictionary>
i try to read this xml like this: 我试图像这样读取此xml:
foreach(var Object in Objects)
print the whole elements values
foreach(var Parameter in Parameters Of Current Object)
print the whole elements of current parameter
i try with 2 foreach and its not working always get exception the object is not set to instance of object something like this. 我尝试使用2 foreach,并且它始终无法正常工作,但该对象未设置为此类对象的实例。 there is a way to read this xml like I want?
有没有办法像我想要的读取此xml?
You can use xpath to get what you want, for example, you want to get all parameters: 您可以使用xpath获取所需的内容,例如,获取所有参数:
XmlDocument doc = new XmlDocument();
doc.Load("file.xml");
XmlNodeList parameters = doc.SelectNodes("Dictionary/Object/Parameters/Parameter");
// or doc.SelectNodes("//Parameter");
foreach(XmlNode parameter in parameters)
{
// print the whole element
}
Hopeful it's helpful. 希望它会有所帮助。
By the way, in you xml, the "Parameters" tag is not closed. 顺便说一句,在您的xml中,“ Parameters”标签未关闭。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.