用下面的VB6代码用XML来保存两个字符串值:
Set xmlDoc = CreateObject("MSXML.DOMDocument")
Set xmlRoot = xmlDoc.createElement("Root")
xmlDoc.appendChild xmlRoot
Dim xmlItem As IXMLDOMNode
Dim xmlVal As IXMLDOMNode
            
Set xmlItem = xmlDoc.createElement("Item")
xmlRoot.appendChild xmlItem
Set xmlVal = xmlDoc.createElement("Old")
xmlVal.Text ="     "
xmlItem.appendChild xmlVal
Set xmlVal = xmlDoc.createElement("New")
xmlVal.Text = " "
xmlItem.appendChild xmlVal
结果生成的XML是这样的:
<Replace>
 <Item>
  <Old /> 
  <New /> 
  </Item>
</Replace>这样回读这个XML文件,原来5个空格的字符串和1个空格的字符串都变成了空值了,这个怎么解决这个问题?

解决方案 »

  1.   

    生成的 xml 明明有空格的
    <Root><Item><Old>     </Old><New> </New></Item></Root>
      

  2.   


    是有空格的,但是你用IE或用别的软件去解析这个文件,会被认为是两个空节点!Set xmlDoc = CreateObject("MSXML.DOMDocument")
    xmlDoc.Load CommonDialog1.FileName
    Set xmlRoot = xmlDoc.documentElement
    If Not (xmlRoot Is Nothing) Then
    TextBox1.Text=xmlRoot.childNodes(K).childNodes(0).Text
    TextBox2.Text=xmlRoot.childNodes(K).childNodes(1).Text结果,TextBox1和TextBox2的Text都是""
      

  3.   

    双击生成的XML文件,用IE去看,显示是这样的:
    - <Replace>
    - <Item>
      <Old /> 
      <New /> 
      </Item>
      </Replace>
      

  4.   

    貌似IE跟DOMDocument对象出来的自动处理过了
    Debug.Print xmlDoc.documentElement.xml 
      

  5.   

    用 XML Schema (xsd) 进行限定
    http://msdn.microsoft.com/zh-cn/library/ms256068.aspx
      

  6.   

    UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP
      

  7.   

    支持。不知到可不可以用CDATA字段来做?