Results 1 to 3 of 3

Thread: Import XML1, xml2 into xml3 ....

  1. #1

    Thread Starter
    Fanatic Member
    Join Date
    Oct 2001
    Location
    Three Anchor Bay, Cape Town, South Africa
    Posts
    769

    Question Import XML1, xml2 into xml3 ....

    Hi,

    I have two xml files; xml1 and xml2. Using some form of xml parsing, I would like to import selected nodes from xml1 and xml2 into a resulting file; xml3; to form a new document. I know how to use xslt to format one document, but not to join multiple documents together. Does anyone have an example of this?

  2. #2
    Lively Member
    Join Date
    Jul 2001
    Location
    USA
    Posts
    95
    you could play around with this which just loads two xml files and gets the values then saves as a new xml file:

    xml1.xml
    Code:
    <?xml version="1.0"?>
    <xml1>
    	<ele1A att="att1A">ele1A
    		<ele1B>ele1B</ele1B>
    	</ele1A>
    </xml1>
    xml2.xml
    Code:
    <?xml version="1.0"?>
    <xml2>
    	<ele2A att="att2A">ele2A
    		<ele2B>ele2B</ele2B>
    	</ele2A>
    </xml2>
    testxml.asp
    Code:
    <%@ language=vbscript %>
    <%
    dim oDOM, oDOM2, oRoot, oRoot2, oChild, oChild2, oPI
    Set oDOM = Server.CreateObject("Microsoft.XMLDOM")
    oDOM.load server.mappath ("xml1.xml")
    Set oDOM2 = Server.CreateObject("Microsoft.XMLDOM")
    Set oRoot2 = oDom.createElement("xml3")
    oDom2.appendChild oRoot2
    
    set oRoot = oDOM.selectNodes("/xml1/ele1A")
    
    for each n in oRoot
    Set oChild = oDom.createElement(n.childNodes(0).Text)
      oRoot2.appendChild oChild
      oChild.Text = n.childNodes(0).Text
      oChild.setAttribute n.Attributes(0).Text, n.Attributes(0).Text
      set oChild2 = oDom.createElement(n.childNodes(1).Text)
      oChild.appendChild oChild2
      oChild2.Text = n.childNodes(1).Text
    next
    
    oDOM.load server.mappath ("xml2.xml")
    
    set oRoot = oDOM.selectNodes("/xml2/ele2A")
    for each n in oRoot
      Set oChild = oDom.createElement(n.childNodes(0).Text)
      oRoot2.appendChild oChild
      oChild.Text = n.childNodes(0).Text
      oChild.setAttribute n.Attributes(0).Text, n.Attributes(0).Text
      set oChild2 = oDom.createElement(n.childNodes(1).Text)
      oChild.appendChild oChild2
      oChild2.Text = n.childNodes(1).Text
    next
    
    Set oPI = oDom.createProcessingInstruction("xml","version='1.0'")
    
    oDom2.insertBefore oPI, oDom2.childNodes(0)
     oDom2.Save server.MapPath ("xml3.xml")
     set oRoot = nothing
     set oRoot2 = nothing
    set oDom = nothing
    set oDom2 = nothing%>
    and resulting xml3.xml
    Code:
    <?xml version="1.0"?>
    <xml3>
       <ele1A att1A="att1A">ele1A
          <ele1B>ele1B</ele1B>
       </ele1A>
       <ele2A att2A="att2A">ele2A
          <ele2B>ele2B</ele2B>
       </ele2A>
     </xml3>

  3. #3

    Thread Starter
    Fanatic Member
    Join Date
    Oct 2001
    Location
    Three Anchor Bay, Cape Town, South Africa
    Posts
    769
    thanks.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width