以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 XML基础 』 (http://bbs.xml.org.cn/list.asp?boardid=1) ---- 我想取出所有ip的内容,而不需要IP子节点下的内容,如何取(vs2003 c#语言) (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=48548) |
-- 作者:chinesechen -- 发布时间:6/15/2007 2:21:00 PM -- 我想取出所有ip的内容,而不需要IP子节点下的内容,如何取(vs2003 c#语言) <?xml version="1.0" encoding="GB2312"?> <PLAN> <IP>192.168.0.109 <week>0 <StartTime>00:00</StartTime> <EndTime>23:59</EndTime> <Alarm>0</Alarm> </week> <week>1 <StartTime>23:00</StartTime> <EndTime>23:59</EndTime> <Alarm>1</Alarm> </week> <week>2 <StartTime>22:00</StartTime> <EndTime>23:59</EndTime> <Alarm>1</Alarm></week> <week>3 <StartTime>21:00</StartTime> <EndTime>23:59</EndTime> <Alarm>1</Alarm></week> <week>4 <StartTime>20:00</StartTime> <EndTime>23:59</EndTime> <Alarm>1</Alarm></week> <week>5 <StartTime>19:00</StartTime> <EndTime>23:59</EndTime> <Alarm>1</Alarm></week> <week>6 <StartTime>18:00</StartTime> <EndTime>23:59</EndTime> <Alarm>1</Alarm></week> </IP> <IP>192.168.0.110</IP> <IP>192.168.0.111</IP> <IP>192.168.0.112</IP> <IP>192.168.0.113</IP> <IP>192.168.0.114</IP> </PLAN> 请问,我想取出所有ip,放入arraylist数组,该怎么取,vs2003 c#语言
[此贴子已经被作者于2007-6-15 15:01:05编辑过]
|
-- 作者:Qr -- 发布时间:6/15/2007 6:43:00 PM -- 这是偶帮人解决过的一个问题,眼熟吧: XML: <?xml version="1.0" encoding="utf-8"?> <bookstore> <book>The Handmaid's Tale <price>19.95</price> </book> <book>Pride And Prejudice <price>24.95</price> </book> </bookstore> CS: foreach(XmlElement deptNode in oNode){ |
-- 作者:chinesechen -- 发布时间:6/22/2007 3:22:00 PM -- 谢谢,真的很简单,比我现在用的方便多了,但是我想问下,如果生成这样格式的XML了,比如说在增加一个<price></price>节点 |
-- 作者:Qr -- 发布时间:6/22/2007 3:48:00 PM -- CreateElement()//创建新节点 InnerText//赋值 AppendChild()//添加刚创建的节点 |
-- 作者:chinesechen -- 发布时间:6/22/2007 5:11:00 PM -- 我是这样做的: foreach(XmlElement deptNode in oNode) { temp=deptNode.FirstChild.InnerText; if(temp=="ee") { XmlElement xesub1=xmlDoc.CreateElement("Num"); xesub1.InnerText="999999999"; root.AppendChild(xesub1); xmlDoc.Save(MapPath(strfilename)); break; } } XML文件是: <?xml version="1.0" encoding="GB2312"?> <Handset> <IP>aa <Num>111111111</Num> <Num>423</Num> <Num>11112222</Num></IP> <IP>bb <Num>2222222222222</Num></IP> <IP>cc <Num>1</Num></IP> <IP>dd <Num>1654654654654</Num></IP> <IP>ee<IP> <IP>ff<IP> </Handset> 为什么增加的节点全部跑到第一个aa这个IP下面去了我想加到ee这个节点下
|
-- 作者:Qr -- 发布时间:6/23/2007 12:19:00 PM -- foreach(XmlElement deptNode in oNode) { temp=deptNode.FirstChild.InnerText; if(temp=="ee")//temp永远不会等于ee,你可以输出temp的长度试试 { XmlElement xesub1=xmlDoc.CreateElement("Num"); xesub1.InnerText="999999999"; root.AppendChild(xesub1);//这里应该是deptNode,而不是root吧 xmlDoc.Save(MapPath(strfilename)); break; } } 按偶指出的错出修正,会得到正确的结果的。 |
-- 作者:chinesechen -- 发布时间:6/26/2007 10:25:00 AM -- 最简单的办法是这样的: objParentNode = objDoc.SelectSingleNode("Handset/ip[text()=ee]").ParentNode objNodeChild = objDoc.CreateElement("Num") objNodeChild.InnerXml = "222222" objParentNode.AppendChild(objNodeChild) 哈哈,是不是很简单啊! |
-- 作者:Qr -- 发布时间:6/26/2007 10:33:00 AM -- foreach(XmlElement deptNode in oNode)要遍历所用节点,就你的XML而言,当然不如用SelectSingleNode(),但各有长处。 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
66.406ms |