如果利用javascript脚本来删除xml文档中的一个结点。
解决方案 »
- 关于using和System.GC.Collect()对于释放资源的讨论!
- 如何提取指定字符之间的字符串?
- winform永久保存一个数据的问题
- fastreport.net 如何创建动态报表
- 关于C#调用exe程序的问题...
- app.config下怎么找不到connectionString节?
- 300分求RealMedia解码方案.
- 输入问题?能以窗体名称为参数吗?(CONTROLS.ADD方法)!!!!!!!
- C#中静态变量为什么取出来的值不一致?
- 关于数组的绑定
- 一个DataList中嵌套一个DataGrid,如何将DataGrid显示出来记录的字符截掉!
- 诸多错误居然来自一个错误。就是没有抛出异常。问,为什么不会自动抛出异常了?
<doc>
<a>sss1</a>
<b>ddd1</b>
</doc>
<doc>
<a>sss2</a>
<b>ddd2</b>
</doc>
</root>现在我要把子节点<a>sss1</a>删除,那么可以这样写
objXMLData = new ActiveXObject('MSXML2.DOMDocument');
objXMLData.async = false;
objXMLData.resolveExternals = false;
objXMLData.load("e:\\ttt\\www.xml");
var eventNodeList = objXMLData.selectNodes("//doc");
var iNodeLen = eventNodeList.length; if(iNodeLen>1)
{
eventNodeList[0].removeChild(eventNodeList[0].childNodes[0]);
}如果你要把改动写回文件,可用objXMLData.save()函数,不过要有写权限,这个一般不要用。
谢谢,非常感谢!
var eventNodeList = objXMLData.selectNodes("//doc");
为何不是这句:
var eventNodeList = objXMLData.selectNodes("//root");
谢谢
<root>
<doc>
....
</doc>
<doc>
.....
</doc>
</root>
var eventNodeList = objXMLData.selectNodes("//doc");这句是指选取所有的doc结点吧。
而eventNodeList[0]是指 第一个doc结点,对吗?
eventNodeList[0].childNodes[0]是指第一个doc结点下第一个结点。我的理解: var eventNodeList = objXMLData.selectNodes("//root"); 这句就可以选取root结点下的所有的doc结点,
不知道我这样子理解对不对?
objXMLData.selectNodes("//doc")选取所有的doc结点;这时eventNodeList 的长度是2。
删除doc节点,只要找到它的上层节点,也就是这里的root,然后把它的孩子节点(也就是doc节点)删除即可啊。