贵求读xml文档 属性
<Item Id="1" Name="连续障碍"><Define Id="1" Name="起步线" Signal="$00000001" Reverse="0" />
<Define Id="2" Name="结束线" Signal="$00000002" Reverse="0" />
<Define Id="3" Name="1饼线圈" Signal="$00000004" Reverse="0" />
<Define Id="4" Name="2饼线圈" Signal="$00000008" Reverse="0" />
<Define Id="5" Name="3饼线圈" Signal="$00000010" Reverse="0" />
<Define Id="6" Name="4饼线圈" Signal="$00000020" Reverse="0" />
<Define Id="7" Name="5饼线圈" Signal="$00000040" Reverse="0" />
<Define Id="8" Name="6饼线圈" Signal="$00000080" Reverse="0" />
<Define Id="9" Name="1饼擦" Signal="$00000100" Reverse="0" />
<Define Id="10" Name="2饼擦" Signal="$00000200" Reverse="0" />
<Define Id="11" Name="3饼擦" Signal="$00000400" Reverse="0" />
<Define Id="12" Name="4饼擦" Signal="$00000800" Reverse="0" />
<Define Id="13" Name="5饼擦" Signal="$00001000" Reverse="0" />
<Define Id="14" Name="6饼擦" Signal="$00002000" Reverse="0" />
<Define Id="15" Name="1饼压" Signal="$00004000" Reverse="0" />
<Define Id="16" Name="2饼压" Signal="$00008000" Reverse="0" />
<Define Id="17" Name="3饼压" Signal="$00010000" Reverse="0" />
<Define Id="18" Name="4饼压" Signal="$00020000" Reverse="0" />
<Define Id="19" Name="5饼压" Signal="$00040000" Reverse="0" />
<Define Id="20" Name="6饼压" Signal="$00080000" Reverse="0" />
<Define Id="21" Name="路边线1" Signal="$00100000" Reverse="0" />
<Define Id="22" Name="路边线2" Signal="$00200000" Reverse="0" />
</Item>
<Item Id="2" Name="单边桥" >
<Define Id="1" Name="起步线" Signal="$00000001" Reverse="0" />
<Define Id="2" Name="结束线" Signal="$00000002" Reverse="0" />
<Define Id="3" Name="1桥1线" Signal="$00000004" Reverse="0" />
<Define Id="4" Name="1桥2线" Signal="$00000008" Reverse="0" />
<Define Id="5" Name="1桥3线" Signal="$00000010" Reverse="0" />
<Define Id="6" Name="1桥4线" Signal="$00000020" Reverse="0" />
<Define Id="7" Name="2桥1线" Signal="$00000040" Reverse="0" />
<Define Id="8" Name="2桥2线" Signal="$00000080" Reverse="0" />
<Define Id="9" Name="2桥3线" Signal="$00000100" Reverse="0" />
<Define Id="10" Name="2桥4线" Signal="$00000200" Reverse="0" />
</Item>
读取xml 的属性 --------------------编程问答-------------------- 没人知道吗 怎么去到<Define Id="7" Name="5饼线圈" Signal="$00000040" Reverse="0" />
总的 Signal="$00000040" 值 --------------------编程问答-------------------- 取xml的节点啊,Id是唯一的,你取Id为7的节点,再获取这个节点里面的值就可以啦 --------------------编程问答-------------------- 看到过忘了 希望有人告知 --------------------编程问答--------------------
xmlDoc.Load(@"config\Draft.XML");//加载XML文件
XmlNodeList pPacketInfoList = xmlDoc.GetElementsByTagName("PInfo");//读取所有LoanInfo元素
foreach (XmlNode pXmlPacket in pPacketInfoList)
{
if (pXmlPacket.Attributes["UserId"].Value.ToString() == App.UserId)
{
DataRow dr = pdtPacket.NewRow();
dr["PacketNo"] = pXmlPacket.Attributes["PacketNo"].Value.ToString();
}
}
试着写写呗 --------------------编程问答-------------------- 第一 XML不符合规范
XML除声明外只能有一个根节点
获取属性
XmlElement.GetAttribute --------------------编程问答-------------------- 现在没环境,晚上测试
LINQ TO XML操作如http://topic.csdn.net/u/20110117/14/477e0919-eca7-4265-aee9-205f9a8f21e4.html --------------------编程问答-------------------- 我是觉得蛮规范了,方法都一样的,都有规律可寻 --------------------编程问答-------------------- 用Xpath语句
调用getstring(nl,"./Item[@Id='1']/Define[@Id='7']");
结果为<Define Id="7" Name="5饼线圈" Signal="$00000040" Reverse="0" />
下Signal的值;
getstring代码如下
public string getstring(XmlNode nl, string Xpath)
{
XmlNode sd = nl.SelectSingleNode(Xpath);
return sd.Attributes["Signal"].Value.Trim();
}
具体的Xpath语句可以去百度查查。 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 真要把代码一个一个给你写出来? --------------------编程问答--------------------
xmlDoc.Load(@"config\Draft.XML");//加载XML文件
XmlNodeList pPacketInfoList = xmlDoc.GetElementsByTagName("Define");//读取所有LoanInfo元素
foreach (XmlNode pXmlPacket in pPacketInfoList)
{
if (pXmlPacket.Attributes["Id"].Value.ToString() == '7')
{
DataRow dr = pdtPacket.NewRow();
dr["Name"] = pXmlPacket.Attributes["Name"].Value.ToString();
}
}
这样不就出来了,你把pdtPacket这个DataTable替换成你自己写的,一个一个取出来就可以了 --------------------编程问答--------------------
晕 不小心把双引号打成单引号了 --------------------编程问答-------------------- LZ你说你想取什么值撒,说了我看看能不能写给你
猜测如下
--------------------编程问答-------------------- System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
XmlNodeList xmlNodeList = doc.SelectNodes("//Items/Item[@ColumnName='" + column + "']/Define [@Id='1']");
foreach (XmlNode xdcolName in xmlNodeList)
xdcolName.Attributes["Name"].Value));
doc.Load(Server.MapPath("你的xml文件路径"));
foreach (XmlNode tmpNode in doc.SelectSingleNode("GN").ChildNodes)
{
string id = tmpNode.Attributes["Id"].Value;
string name = tmpNode.Attributes["Name"].Value;
string sig = tmpNode.Attributes["Signal"].Value;
string rev = tmpNode.Attributes["Reverse"].Value;
Response.Write(id + name + sig +rev);
}
补充:.NET技术 , C#