以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  [求助] 使用 selectSingleNode 无法获取对象。  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=7397)


--  作者:Minze
--  发布时间:5/11/2004 6:31:00 PM

--  [求助] 使用 selectSingleNode 无法获取对象。
刚开始学习XML,希望大家帮忙。

<?xml version='1.0'?>
<Collection  xmlns="x-schema:books">
   <OtherBook>
      <Title>Lover Birds</Title>
      <Author>Cynthia Randall</Author>
      <Publisher>Lucerne Publishing</Publisher>
   </OtherBook>
</Collection>

    Dim xmldoc As New MSXML2.FreeThreadedDOMDocument40
    xmldoc.Load App.Path & "\books.xml.xml"
    Set aa = xmldoc.documentElement
    Set bb = xmldoc.selectSingleNode("Collection")

只要 命名空间 xmlns="x-schema:books" 存在,就无法使用 selectSingleNode 获取到节点对象。


--  作者:admin
--  发布时间:5/11/2004 8:35:00 PM

--  
好像需要设置一下命名空间。

曾有人问过类似的问题


--  作者:cramer_lh
--  发布时间:5/12/2004 9:46:00 AM

--  
写成xmlns:BK="x-schema:books.xml"试一试
--  作者:Minze
--  发布时间:5/13/2004 4:58:00 PM

--  
以下是引用cramer_lh在2004-5-12 9:46:44的发言:
写成xmlns:BK="x-schema:books.xml"试一试

这个办法不行呀。还是取不到。


--  作者:cramer_lh
--  发布时间:5/14/2004 11:33:00 AM

--  
你把books.xml代码贴出来,我把这个代码去掉就正常了,估计是里面代码的问题。
--  作者:FsYd
--  发布时间:5/14/2004 1:12:00 PM

--  
xmlns="x-schema:books"
表明你要用books(不是boos.xml)这个xm schemal来验证你的xml文档的规范性。
要满足以下条件你的xml格式才算正常:
*)存在books这个文件,
*)books里面的字符串是按照XML  schema定义的.

如果你的 没有定义schema,可以不要这个标签.酱紫.


--  作者:Minze
--  发布时间:5/14/2004 11:36:00 PM

--  

使用命名空间正是为了使用 Schema 验证,所以不能去掉。

xmlns="x-schema:books" 是命名空间名,只是名称,所以应该不存在 “books这个文件” 的问题。

这两天在网上查到 selectSingleNode 方法实际上是使用了 Xpath 对象,而 Xpath 保存的是一种树壮结构,当有命名空间是,在 Xpath 中每个节点会自动加入存储空间名的前缀,所以直接已名称获取无效。

但在 books.xml 中加入 xmlns:BK="x-schema:books.xml" 并在获取时使用 xmldoc.selectSingleNode("Bk:Collection") 还是取不到。

另  books.xml 内容就是
<?xml version='1.0'?>
<Collection  xmlns="x-schema:books">
   <OtherBook>
      <Title>Lover Birds</Title>
      <Author>Cynthia Randall</Author>
      <Publisher>Lucerne Publishing</Publisher>
   </OtherBook>
</Collection>


--  作者:yypt111
--  发布时间:7/21/2004 9:50:00 AM

--  
我刚遇到同样的问题
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
70.313ms