再次请教关于asp.net删除xml节点的问题。
xml结构如下
<PROWEB>
<PAPER>
<PAPERDATA ID="0" TYPE="0" TOPIC="我 的 天 地" AUTHOR="skylen" ADDTIME="1991-06-25" FROM="互联网络" />
<PAPERDATA ID="1" TYPE="0" TOPIC="我 的 天 地" AUTHOR="skylen" ADDTIME="1991-07-25" FROM="互联网络" />
<PAPERDATA ID="2" TYPE="0" TOPIC="我 的 天 地" AUTHOR="skylen" ADDTIME="1991-08-25" FROM="互联网络" />
</PAPER>
</PROWEB>
现在想删除 id=0的那一个节点。我写了如下,
XMLDOC.Load(XMLFILE)
Dim removnode As XmlNode = XMLDOC.SelectSingleNode("//PROWEB/WEBDATA/PAPER/PAPERDATA")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
XMLDOC.RemoveChild(removnode)
XMLDOC.Save(XMLFILE)
关于上面的xpath 我不知道怎么才能指定id=0的那一条。。
再或是要用别的办法,请各位不吝赐教。
==================下面是别人的回复=======================
===>
Dim removnode As XmlNode = XMLDOC.SelectSingleNode("//PROWEB/WEBDATA/PAPER/PAPERDATA[@ID='0']")
..........
===>
Dim removnode As XmlNode = XMLDOC.SelectSingleNode("//PROWEB/PAPER/PAPERDATA[@ID='1]")
========================================================
我试了很多次。一个下午就这样过去了。
再说明一点。已经定义了 SCHEMA ,ID是integer类型。
我这里出的错误信息是这样的,
==========================================================
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
源错误: 72行错
行 70: Dim nodexpath As String = "//PROWEB/PAPER/PAPERDATA[@ID='1']"
行 71: Dim removnode As XmlNode = XMLDOC.SelectSingleNode(nodexpath)
行 72: XMLDOC.RemoveChild(removnode)
行 73: XMLDOC.Save(XMLFILE)
行 74:
===============================================
各位大慈大悲的好人,求救。