问题描述
我用如下语句建立了一个xml配置文件:ImportsSystem.XmlPublicClassForm1PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickDimmyTWAsNewXmlTextWriter(Application.StartupPath&"mytest.xml",Nothing)myTW.WriteStartDocument()myTW.Formatting=Formatting.IndentedmyTW.WriteStartElement("MyConfig")myTW.WriteStartElement("D1288")myTW.WriteStartElement("btn1")myTW.WriteAttributeString("X","3")myTW.WriteAttributeString("Y","51")myTW.WriteAttributeString("W","1267")myTW.WriteAttributeString("H","665")myTW.WriteEndElement()myTW.WriteStartElement("btn2")myTW.WriteAttributeString("X","3")myTW.WriteAttributeString("Y","51")myTW.WriteAttributeString("W","1267")myTW.WriteAttributeString("H","665")myTW.WriteEndElement()myTW.WriteEndElement()myTW.WriteStartElement("D1366")myTW.WriteStartElement("btn1")myTW.WriteAttributeString("X","3")myTW.WriteAttributeString("Y","51")myTW.WriteAttributeString("W","1357")myTW.WriteAttributeString("H","655")myTW.WriteEndElement()myTW.WriteStartElement("btn2")myTW.WriteAttributeString("X","3")myTW.WriteAttributeString("Y","51")myTW.WriteAttributeString("W","1267")myTW.WriteAttributeString("H","665")myTW.WriteEndElement()myTW.WriteEndElement()myTW.WriteEndElement()myTW.WriteEndDocument()myTW.Close()EndSub
文件建立好后如下:<?xmlversion="1.0"?><MyConfig><D1288><btn1X="3"Y="51"W="1267"H="665"/><btn2X="3"Y="51"W="1267"H="665"/></D1288><D1366><btn1X="3"Y="51"W="1357"H="655"/><btn2X="3"Y="51"W="1267"H="665"/></D1366></MyConfig>
请问如何将<D1366>中btn2的X值取出?
解决方案
解决方案二:
Linq
解决方案三:
有点难
解决方案四:
不是抄的代码吧,既然写出来,读的代码呢?写对应读不知道?WriteAttributeString没对应的读取函数?
解决方案五:
你用XmlTextWriter写入当然可以用XmlTextReader读出来。当然用LinqToXML会很简单,如果你明确了路径,可以用System.Xml.Linq.XDocument.Load(Application.StartupPath&"mytest.xml").Element("MyConfig").Element("D1366").Element("btn2").Attribute("X").Value
这个Value就是你要的值