Is there a way to control which tags fall during serialization using MSXML6?

I am creating an MSXML6 DOM document and during serialization I want to control how empty elements are serialized:

  • <tag></tag>

  • <tag/>

This answer describes a solution for C #, but I'm looking for something possible using the MSXML ActiveX interface. (For VB6 or some scripting languages)

+3
source share
2 answers

, , createElement MSXML, ( - ) xml, serailizes <tag />, serailize, , , :

<!-- Contents of c:\xml.xml -->
<xml>
    <element></element>
</xml>

Javascript ( VbScript )

objXML = new ActiveXObject("MSXML2.DOMDocument.4.0");
objXML.load("c:\\xml.xml");

var xmlElement = objXML.childNodes[1];

var newElement = objXML.createElement(xmlElement.childNodes[0].tagName);
xmlElement.replaceChild(newElement, xmlElement.childNodes[0]);

, <tag />, text "":

newElement.text = "";

, - , , , , , , !:-p

+2

COM-, VB6 #.

using Interop=System.Runtime.InteropServices;

namespace MyNamespace
{
    [Interop.GuidAttribute("...guid here...")]
    [Interop.ComVisible(true)]
    [Interop.ClassInterface(Interop.ClassInterfaceType.AutoDispatch)]
    public partial class MyXmlWrapper 
    {
        // expose methods in here that do the XML serialization the 
        // way you want to.  
    }
}

, COM- #, .

0

Source: https://habr.com/ru/post/1719282/


All Articles