以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  如何删除XML某个记录?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=64791)


--  作者:贵在学习
--  发布时间:7/21/2008 1:25:00 PM

--  如何删除XML某个记录?
<?xml version="1.0" encoding="gb2312" ?>
<?xml-stylesheet type="text/xsl" href="mytest.xsl"?>
<viewentries timestamp="20080718T012744,10Z" toplevelentries="6">
- <viewentry position="1" unid="64167EC594A2E713482574790013752E" noteid="8F6" siblings="6">
- <entrydata columnnumber="0" name="subject">
  <text>sdfgsfgsdfg</text>
  </entrydata>
- <entrydata columnnumber="1" name="$1">
- <textlist>
  <text>1</text>
  </textlist>
  </entrydata>
- <entrydata columnnumber="2" name="name">
  <text />
  </entrydata>
  </viewentry>
- <viewentry position="2" unid="BD05453528840B8C4825747900355F23" noteid="8FA" siblings="6">
- <entrydata columnnumber="0" name="subject">
  <text>ceshi</text>
  </entrydata>
- <entrydata columnnumber="1" name="$1">
- <textlist>
  <text>2</text>
  </textlist>
  </entrydata>
- <entrydata columnnumber="2" name="name">
  <text />
  </entrydata>
  </viewentry>
- <viewentry position="3" unid="D6AFF730F00492AF4825747900361DDD" noteid="8FE" siblings="6">
- <entrydata columnnumber="0" name="subject">
  <text>关于把视图转换为XML文件</text>
  </entrydata>
- <entrydata columnnumber="1" name="$1">
- <textlist>
  <text>3</text>
  </textlist>
  </entrydata>
- <entrydata columnnumber="2" name="name">
  <text />
  </entrydata>
  </viewentry>
- <viewentry position="4" unid="DD532410515BA73B4825747A0009B784" noteid="902" siblings="6">
- <entrydata columnnumber="0" name="subject">
  <text>!!!!</text>
  </entrydata>
- <entrydata columnnumber="1" name="$1">
- <textlist>
  <text>4</text>
  </textlist>
  </entrydata>
- <entrydata columnnumber="2" name="name">
  <text />
  </entrydata>
  </viewentry>
- <viewentry position="5" unid="24687F2F963F86AC4825747A0009C1FF" noteid="906" siblings="6">
- <entrydata columnnumber="0" name="subject">
  <text>测试</text>
  </entrydata>
- <entrydata columnnumber="1" name="$1">
- <textlist>
  <text>5</text>
  </textlist>
  </entrydata>
- <entrydata columnnumber="2" name="name">
  <text>sdfsdf</text>
  </entrydata>
  </viewentry>
- <viewentry position="6" unid="860E0918FFBCA9404825748A000767A5" noteid="90A" siblings="6">
- <entrydata columnnumber="0" name="subject">
  <text>dfdsf</text>
  </entrydata>
- <entrydata columnnumber="1" name="$1">
- <textlist>
  <text>6</text>
  </textlist>
  </entrydata>
- <entrydata columnnumber="2" name="name">
  <text>sdfsdf</text>
  </entrydata>
  </viewentry>
  </viewentries>
请问如何删除这某个记录呢?
--  作者:Qr
--  发布时间:7/22/2008 8:59:00 AM

--  
假设删除position='2'的viewentry节点:
o = xmlDoc.selectSingleNode("viewentries/viewentry[position='2']")

o.parentNode.removeChild(o)

xmlDoc.Save()


--  作者:贵在学习
--  发布时间:7/22/2008 9:17:00 AM

--  
前面不用声明个xmlDoc?
你的XML水平太牛了。我要学习
--  作者:belinda_pjm
--  发布时间:7/22/2008 11:10:00 AM

--  
xmldocument xmldoc=new xmldocument();
xmldoc.selectSingleNode("你要删除节点的xpath").DeleteSelf();
--  作者:Qr
--  发布时间:7/22/2008 11:59:00 AM

--  
以下是引用贵在学习在2008-7-22 9:17:00的发言:
前面不用声明个xmlDoc?
你的XML水平太牛了。我要学习


当然要声明啦,只是不知道你用的是什么语言,所以给出的代码尽可能通用些。
--  作者:贵在学习
--  发布时间:7/22/2008 3:42:00 PM

--  
我用的JAVASCRIPT
对于XML,我不是特别熟练的运用,现在需要删除一个记录。难到了



--  作者:Qr
--  发布时间:7/22/2008 4:13:00 PM

--  
JAVASCRIPT可以删除节点,但不能保存文档,因为安全性的原因所以没有给予写权限。
以下为VBS CODE:

Dim xmlDoc,o

set xmlDoc = Server.CreateObject("Microsoft.XMLDOM")

xmlDoc.async = false

xmlDoc.load (Server.Mappath("yourxml.xml"))

o = xmlDoc.selectSingleNode("viewentries/viewentry[position='2']")

o.parentNode.removeChild(o)

xmlDoc.Save()


--  作者:贵在学习
--  发布时间:7/22/2008 4:37:00 PM

--  
请问,那我现在可以不可以通过JAVA去删除?该怎么声明?
--  作者:Qr
--  发布时间:7/22/2008 5:15:00 PM

--  
当然可以,但我不熟悉JAVA,你自己搜一下吧。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
78.125ms