<?xml version="1.0" encoding="Shift-JIS"?>
<sqs><ssssss><name>対象1
</name><name>対象2
</name><name>対象3
</name></ssssss><name>海陆空1</name><name>海陆空2
</name></sqs>正确的格式应为如下:
<?xml version="1.0" encoding="Shift-JIS"?>
<sqs>
  <ssssss>
    <name>対象1</name>
    <name>対象2</name>
    <name>対象3</name>
  </ssssss>
  <name>海陆空1</name>
  <name>海陆空2</name>
</sqs>怎样改呢?

解决方案 »

  1.   

    Dim DocPath As String
        Dim tempDoc As MSXML2.DOMDocument
        Dim tempNode As IXMLDOMNode
        Dim FatherNode As IXMLDOMNode
        Dim Root As IXMLDOMElement
        Dim emp As IXMLDOMElement
        Dim DiagramObj As DiagramObjects
        
        Dim ShapeObj(60)
        Dim LineObj(60)
        Dim i As Long
        
        'xml対象初期化
        Set tempDoc = New DOMDocument    Set Root = tempDoc.createElement("sqs")
        Set tempDoc.documentElement = Root
        DocPath = "c:\sample.xml"
      
        Set DiagramObj = 図表1.DiagramObjects
       ' MsgBox DiagramObjects.Count
        'MsgBox ixObjectShape
        i = 1
        Dim obj As DiagramObject
        
        For Each obj In 図表1.DiagramObjects
            Select Case obj.Type
            
                Case ixObjectShape          'shapeの場合
                    ShapeObj(i) = obj.Shape.Text & Chr(13)
                    
                Case ixObjectTextGraphic    '線の場合
                    LineObj(i) = obj.TextGraphicObject.Text & Chr(13)
                    
                Case Else
                    
            End Select
            
            i = i + 1
        Next obj
        
        Set FatherNode = tempDoc.cr.createNode(MSXML2.NODE_ELEMENT, "ssssss", "")
        
        For j = 1 To 60
            If ShapeObj(j) <> "" Then
                Set tempNode = tempDoc.createNode(MSXML2.NODE_ELEMENT, "name", "")
                tempNode.Text = ShapeObj(j)
                FatherNode.appendChild tempNode
            End If
        Next
        Root.appendChild FatherNode
        
        For j = 1 To 60
            If LineObj(j) <> "" Then
                Set tempNode = tempDoc.createNode(MSXML2.NODE_ELEMENT, "name", "")
                tempNode.Text = LineObj(j)
                Root.appendChild tempNode
            End If
        Next
        
        Dim pi As IXMLDOMProcessingInstruction
        Set pi = tempDoc.createProcessingInstruction("xml", "version='1.0' encoding='Shift-JIS'")
        
        Call tempDoc.insertBefore(pi, tempDoc.childNodes(0))
        '保存文件
        tempDoc.Save (DocPath)
        
        MsgBox "XMLファイル生成した。"
      

  2.   

    但是别的XML文件生成后,格式都是对齐的,为什么我的对不齐呢?我也没见哪个应用程序的XML配置文件,被打开后里面是乱乱的一堆.