以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  [原创]关于根节点和根的子节点的xmlns的属性用法???  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=26641)


--  作者:fanmy_001
--  发布时间:1/20/2006 11:49:00 AM

--  [原创]关于根节点和根的子节点的xmlns的属性用法???
请教,创建一个根节点<root>,根节点下面有三个子节点<record>,
正确的格式应该是:

<root xmlns="http://myweb.data....">
   <record>
        <record2>aaa</record2>
   <record>
        <record2>aaa</record2>
   <record>
        <record2>aaa</record2>
<root>


当给<root>添加属性 xmlns="http://myweb.data...."的时候,子节点<record>会自动添加一个这个的属性 xmlns="" ,也就是下面的样子了。

<root xmlns="http://myweb.data....">
   <record xmlns="">
        <record2>aaa</record2>
   <record xmlns="">
        <record2>aaa</record2>
   <record xmlns="">
        <record2>aaa</record2>
<root>

为什么会这样啊??急盼高手解答。

<record>中自动添加的属性,被schema校验的时候通不过啊。

使用的是vb6,msxml4组件对象操作的。



--  作者:flyfoxs
--  发布时间:1/20/2006 6:13:00 PM

--  
正确的格式应该是:

<root xmlns="http://myweb.data....">
   <record>
        <record2>aaa</record2>
</record>
   <record>
        <record2>aaa</record2>
</record>
   <record>
        <record2>aaa</record2>
</record>
<root>


--  作者:fanmy_001
--  发布时间:1/20/2006 9:21:00 PM

--  
以下是引用flyfoxs在2006-1-20 18:13:00的发言:
正确的格式应该是:

<root xmlns="http://myweb.data....">
    <record>
         <record2>aaa</record2>
</record>
    <record>
         <record2>aaa</record2>
</record>
    <record>
         <record2>aaa</record2>
</record>
<root>



对的,正确的格式是这样的,我上帖输入的时候不小心漏掉了,但是我的问题是 <record xmlns="">这里,系统为什么自动给添加一个"xmlns="""啊。

怎么设置可以不让它添加这个个多余的后缀。??



--  作者:fanmy_001
--  发布时间:1/20/2006 9:25:00 PM

--  
<?xml version="1.0" encoding="GB2312"?>
<root xmlns="http://myweb.data...." xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://myweb.data...  D:\xmlxsd\XSchema\root.xsd">
         <record xmlns="">
               <主体>
                     <record2>268500000000015</record2>
               </主体>
          </record>     
          <record xmlns="">
               <主体>
                     <record2>268500000000015</record2>
               </主体>
          </record>     
</root>

这个是具体的xml。


--  作者:flyfoxs
--  发布时间:1/20/2006 9:51:00 PM

--  
你用什么软件写的,我怎么没有出现 这种现象。
--  作者:ed_yuqing
--  发布时间:2/26/2006 6:53:00 PM

--  我也遇到这样的问题
<?xml version="1.0"?>
<?xml-stylesheet type='text/xml' href='test.xsl'?>
<!--sample xml file created using XML DOM object.-->
<root xmlns="urn:schemas-microsoft-com:office:excel">
<node1 xmlns="">some character data</node1>
</root>

xmlns=""是程序自动生成的,是执行完dom.save App.Path + "\dynamDom.xml"这句后,程序自动加上去的.可我不想要这个(xmlns="")属性,我该如何设置DOMDocument30对象?

以下是我的VB源码:
Private Function CreateDOM()
    Dim dom
    Set dom = New DOMDocument30
    dom.async = False
    dom.validateOnParse = False
    dom.resolveExternals = False
    dom.preserveWhiteSpace = True
    Set CreateDOM = dom
End Function

Private Sub Form_Load()
    Dim dom, node, attr

    On Error GoTo ErrorHandler

    Set dom = CreateDOM
    
    Set node = dom.createProcessingInstruction("xml", "version='1.0'")
    dom.appendChild node
    Set node = Nothing
    
    Set node = dom.createProcessingInstruction("xml-stylesheet", _
                                "type='text/xml' href='test.xsl'")
    dom.appendChild node
    Set node = Nothing
    
    Set node = dom.createComment("sample xml file created using XML DOM object.")
    dom.appendChild node
    Set node = Nothing

    Dim root
    Set root = dom.createElement("root")
    

    Set attr = dom.createAttribute("xmlns")
    attr.value = "urn:schemas-microsoft-com:office:excel"
    root.setAttributeNode attr
    Set attr = Nothing
    
    dom.appendChild root
    
    root.appendChild dom.createTextNode(vbNewLine + vbTab)

    Set node = dom.createElement("node1")
    node.Text = "some character data"

    root.appendChild node
    Set node = Nothing


    root.appendChild dom.createTextNode(vbNewLine)
    Set node = Nothing
    

    dom.save App.Path + "\dynamDom.xml"
    Set root = Nothing
    Set dom = Nothing
    Exit Sub
    
ErrorHandler:
    MsgBox Err.Description
End Sub


--  作者:ed_yuqing
--  发布时间:2/27/2006 4:37:00 PM

--  
不要用 createElement("Record")
改成    createNode(NODE_ELEMENT, "Node1", "http://myweb.data....")
就OK了
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
74.219ms