以编程方式向AS3中的XML对象添加注释行

时间:2015-12-18 20:11:15

标签: xml actionscript-3 comments

我用XML以编程方式创建不同的XML文件;哪作得很好。为了给这些XML文件的潜在读者提供额外的提示,我想用""添加描述性注释行,以便在例如正确地突出显示这些行。 notepad ++或sublime pro。

我可以附加一个评论节点,就像这是一个描述 但是那条评论并没有突出显示为评论。

我尝试了几个想法,例如转义尖括号,包括对包含在新XML元素中的CDAT构造的注释,...

但没有任何方法可以按照我想要的方式运作。

简而言之: 如何在AS3中创建这样的结构:

`<node1>content node1</node1>
<!-- add your sub nodes here -->
<node2>content node2</node2>`

UPDATE /解决方案: 感谢@akmozo,我终于解决了我的问题。 我的错误是:

  1. IDE编辑器中的错误
  2. 我信任我的IDE告诉我声明错误,其中表示&#34;预期表达式#34;。所以我甚至没有开始我的计划;什么是错误。 只有在我想得到更详细的错误消息后,我才能发布作为答案并启动程序,它出乎意料地工作,没有任何警告或错误!

    1. 不正确的XML.ignoreComment使用
    2. 我错过了     XML.ignoreComments = false; 声明;或者更确切地说:我错误地将ignoreComment属性添加到我的xml对象中,而不是将其用作XML类的属性; - (

      我的工作测试线看起来像这样:

      var myNode:XML = <book />;
      var pgNbr:String = "10";
      var pgCount:String = "50";
      var commentLine = "<!-- This is page #:" + pgNbr + ", out of " + pgCount + " pages -->";
      XML.ignoreComments = false;
      myNode.appendChild(new XML(commentLine));
      

      结果很完美!

      <book>
         <!-- This is page #:10, out of 50 pages -->
      </book>
      

2 个答案:

答案 0 :(得分:1)

您可以将XML注释添加为任何其他XML子项,在您的情况下,您可以使用insertChildAfter(),例如:

// to see your added comment
XML.ignoreComments = false;

var xml:XML = <data>
    <node1>content node1</node1>
    <node2>content node2</node2>
</data>;

xml.insertChildAfter(xml.node1, <!-- add your sub nodes here -->);

trace(xml.toXMLString());

给出

<data>
    <node1>content node1</node1>
    <!-- add your sub nodes here -->
    <node2>content node2</node2>
</data>

希望可以提供帮助。

答案 1 :(得分:0)

简而言之,在处理XML和XMLList对象时,您无法做到。好消息是,你可以在使用字符串时。所以拿你的XML,转换为字符串,添加你的评论然后转换回XML。听起来太多了?那么,在向XML添加注释时,您需要在大多数编程语言中做些什么。