读取下面给出的xml文件,将数据存储到类对象中并对属性进行分类。 [英] Read the xml file given below and store the data into class object and categorize the attributes .

查看:66
本文介绍了读取下面给出的xml文件,将数据存储到类对象中并对属性进行分类。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

<module_file>
    <module name="PAM">
        <frame name="Write" exec_type="Default" mask="" recurssion="false">
            <field name="IR">
                <value value="102" />
            </field>
        </frame>
        <frame name="SAM" exec_type="Default" mask="" recurssion="false">
            <field name="ahded">
                <value value="65" />
            </field>
            <field name="TD">
                <value value="12" />
            </field>
        </frame>
        <frame name="DR" exec_type="Default" mask="" recurssion="false">
            <field name="TD">
                <value value="32" />
            </field>
            <field name="TD">
                <value value="12" />
            </field>
        </frame>
        <frame name="DR" exec_type="Default" mask="" recurssion="false">
            <field name="TD">
                <value value="98" />
            </field>
            <field name="TD">
                <value value="12" />
            </field>
        </frame>
    </module>
</module_file>



推荐答案

我建​​议使用XDocument类。



参见http://msdn.microsoft.com/en-us/library/system.xml.linq。 xdocument(v = vs.110).aspx [ ^ ]
I would recommend using the XDocument class.

See http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument(v=vs.110).aspx[^]


您可以使用.NET Framework的内置功能,使用XML数据 [ ^ ]



他们拥有XML数据的基本实现,以及如何在项目中使用它们。该类是 XmlReader ,您可以使用它。该课程的文档位于: http:// msdn。 microsoft.com/en-us/library/system.xml.xmlreader(v=vs.95).aspx [ ^ ]
You can use a built-in feature of .NET Framework, Working with XML Data[^]

They have the basic implementation of the XML data, and how you can work with them in your projects. The class is XmlReader, you can use it. The class has a documentation at: http://msdn.microsoft.com/en-us/library/system.xml.xmlreader(v=vs.95).aspx[^]


internal static module_file ParseByXMLDocument()

{



var modules = new module_file();

XmlDocument doc = new XmlDocument();

doc.Load(xmlUrl);

// XmlNode module_name = doc.SelectSingleNode(/ module_file / GeneralInformation);



XmlNode ModulelistNode = doc.SelectSingleNode(/ module_file / module);

if(ModulelistNode!= null)

{

XmlNodeList ModuleNodeList = ModulelistNode.SelectNodes(module);

X mlNodeList ModuleNodeList1 = doc.GetElementsByTagName(name);

foreach(ModuleNodeList1中的XmlNode项)

{

XmlElement element1 =(XmlElement) item;

module amodule = new module();

modules.Modulelist.Add(amodule);

}

XmlNodeList FrameNodeList = doc.GetElementsByTagName(frame);





foreach(FrameNodeList中的XmlNode node1)

{

// module amodule = new module();

XmlElement element =(XmlElement)node1;

frame aframe = new frame();



aframe.name = element.GetAttribute(name);

aframe.exec_type = element.GetAttribute( exec_type);

aframe.mask = element.GetAttribute(mask);

aframe.recurssion = element.GetAttribute(recurssion);



modules.Framelist.Add(aframe);



}



XmlNodeList fieldNodeList = doc.GetElementsByTagName(field);

XmlNodeList valueNodeList = doc.GetElementsByTagName(value);



foreach(fieldNodeList中的XmlNode node1)

{

//模块amodule = new module();

XmlElement element =(XmlElement )node1;

field aframe = new field();



aframe.name = element.GetAttribute(name);

modules.Fieldlist.Add(aframe);



} $ / $
foreach(valueNodeList中的XmlNode node1)

{

//模块amodule = new module();

XmlElement element =(XmlElement)node1;

value aframe = new value();



aframe._value = Convert.ToInt64(element .GetAttribute(value));

modules.Valuelist.Add(aframe);



}

}

返回模块;

}
internal static module_file ParseByXMLDocument()
{

var modules = new module_file();
XmlDocument doc = new XmlDocument();
doc.Load(xmlUrl);
//XmlNode module_name = doc.SelectSingleNode("/module_file/GeneralInformation");

XmlNode ModulelistNode = doc.SelectSingleNode("/module_file/module");
if (ModulelistNode != null)
{
XmlNodeList ModuleNodeList = ModulelistNode.SelectNodes("module");
XmlNodeList ModuleNodeList1 = doc.GetElementsByTagName("name");
foreach (XmlNode item in ModuleNodeList1)
{
XmlElement element1 = (XmlElement)item;
module amodule = new module();
modules.Modulelist.Add(amodule);
}
XmlNodeList FrameNodeList = doc.GetElementsByTagName("frame");


foreach (XmlNode node1 in FrameNodeList)
{
//module amodule = new module();
XmlElement element = (XmlElement)node1;
frame aframe = new frame();

aframe.name = element.GetAttribute("name");
aframe.exec_type = element.GetAttribute("exec_type");
aframe.mask = element.GetAttribute("mask");
aframe.recurssion = element.GetAttribute("recurssion");

modules.Framelist.Add(aframe);

}

XmlNodeList fieldNodeList = doc.GetElementsByTagName("field");
XmlNodeList valueNodeList = doc.GetElementsByTagName("value");

foreach (XmlNode node1 in fieldNodeList)
{
//module amodule = new module();
XmlElement element = (XmlElement)node1;
field aframe = new field();

aframe.name = element.GetAttribute("name");
modules.Fieldlist.Add(aframe);

}
foreach (XmlNode node1 in valueNodeList)
{
//module amodule = new module();
XmlElement element = (XmlElement)node1;
value aframe = new value();

aframe._value =Convert.ToInt64(element.GetAttribute("value"));
modules.Valuelist.Add(aframe);

}
}
return modules;
}


这篇关于读取下面给出的xml文件,将数据存储到类对象中并对属性进行分类。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆