用C#的xml类,怎么读取xml文件中的一个属性值呢
用C#的xml类,如何读取xml文件中的一个属性值呢
用C#的xml类,如何读取xml文件中的一个属性呢,
我现在想读取PropDataRow name="smoke"下的property name="floortype"的value值,
我写的C#代码如下:
在上面的代码中,已经报错,说object reference错误,估计是我在用ChildNodes.Item(1).OuterXml的时候不对,请帮忙给看看.
------解决方案--------------------
给你一个例子 你看看吧
------解决方案--------------------
用C#的xml类,如何读取xml文件中的一个属性呢,
- XML code
<?xml version="1.0" encoding="UTF-8"?> <PropDataBucket name="navisworks_df_floor_cicle" version="1.0"> <PropDataRow name="smoke" index="0" type="custom"> <target name="properties"> <property name="floortype" value= "circular"></property> <property name="length" value= ""></property> </target> </PropDataRow> <PropDataRow name="navisworks_df_floor_rectangular_01" index="1" type=""> <target name="properties"> <property name="floortype" value="rectangular" /> <property name="length" value="1000.00" /> </target> </PropDataRow> </PropDataBucket>
我现在想读取PropDataRow name="smoke"下的property name="floortype"的value值,
我写的C#代码如下:
- C# code
using System; using System.Xml; namespace ConsoleApplication5 { class Class1 { [STAThread] static void Main(string[] args) { myDoc.Load("F:\\xmlReader1\\test.xml"); //string Test22 = myDoc.SelectSingleNode("//PropDataBucket[name='PropDataBucket']").ChildNodes.Item(1).OuterXml; string Test22 = myDoc.SelectSingleNode("//PropDataBucket[name='PropDataBucket']").ChildNodes.Item(1).OuterXml; Console.WriteLine(Test22); //XmlNode root = myDoc.DocumentElement; //Console.WriteLine(root); //Console.ReadKey(); } } }
在上面的代码中,已经报错,说object reference错误,估计是我在用ChildNodes.Item(1).OuterXml的时候不对,请帮忙给看看.
------解决方案--------------------
给你一个例子 你看看吧
------解决方案--------------------
- XML code
<?xml version="1.0" encoding="utf-8" ?> <root> <Temple> <Temple_Name Temple_Value="0">摸版1</Temple_Name> <Temle_Content> <Temple_Title>摸版1</Temple_Title> <Temple_Event>事件名称</Temple_Event> <Temple_Date>事件</Temple_Date> </Temle_Content> </Temple> <Temple> <Temple_Name Temple_Value="1">摸版2</Temple_Name> <Temle_Content> <Temple_Title>摸版2</Temple_Title> <Temple_Event>事件名称</Temple_Event> <Temple_Date>事件</Temple_Date> </Temle_Content> </Temple> <Temple> <Temple_Name Temple_Value="2">摸版3</Temple_Name> <Temle_Content> <Temple_Title>摸版3</Temple_Title> <Temple_Event>事件名称</Temple_Event> <Temple_Date>事件</Temple_Date> </Temle_Content> </Temple> <Temple> <Temple_Name Temple_Value="3">other</Temple_Name> <Temle_Content> </Temle_Content> </Temple> </root>
------解决方案--------------------
为什么不用 LINQ to XML?
------解决方案--------------------
- C# code
string Test22 = myDoc.SelectSingleNode("//PropDataBucket[name='PropDataBucket']").ChildNodes.Item(1).OuterXml; Console.WriteLine(Test22);
------解决方案--------------------