【问题标题】:How to add subnodes to xml dynamically in Flex如何在 Flex 中动态地将子节点添加到 xml
【发布时间】:2013-04-13 08:47:20
【问题描述】:

我需要形成一个新的 xml,以便在解析旧 xml 时将新节点作为子子节点添加到适当的节点,从而避免重复并将确切的子节点添加到确切的父节点。我需要这样做以将树中的 xml 填充为 FLEX 中的数据提供者。

我有一个类似如下的 xml:

<root>
<item name="Asia">
  <item name="Asia"/>
  <item name="India"/>
  <item name="Mumbai"/>
  <item name="MH"/>
  <item name="Category 1"/>
  <item name="Product1"/>
  <item name="100"/>
  <item name="Category 2"/>
  <item name="Product1"/>
  <item name="200"/>
</item>
<item name="Asia">
  <item name="Asia"/>
  <item name="India"/>
  <item name="Calcutta"/>
  <item name="CT"/>
  <item name="Category 1"/>
  <item name="Product 1"/>
  <item name="100"/>
  <item name="Category 2"/>
  <item name="Product1"/>
  <item name="200"/>
  <item name="Category 3"/>
  <item name="Product2"/>
  <item name="200"/>
</item>
<item name="Mexico">
  <item name="Mexico"/>
  <item name="Mexico City"/>
  <item name="MC"/>
  <item name="Category 2"/>
  <item name="Product 1"/>
  <item name="200"/>
</item>

I need the output to be in XML so that 

  Asia 
  |  India 
  |     Mumbai
  |     |  MH
          |  Category 1
        |    |    Product 1
          |  |      100
          |  Category 2
          |     Product 1
        | |         200
        Calcutta
           CT
             Category 1
                 Product 1
                    100
             Category 2
                 Product 1
                    200
             Category 3
   |              Product 2
   |                 200
   Mexico
     Mexico City ......

【问题讨论】:

  • 要实现它,您需要一些关于父母和孩子之间关系的元信息。你有吗?怎么知道“MH”是“Mumbai”还是“India”的孩子?
  • 上面的xml是我之前的问题中的分层数据(来自excel的表格数据)的转换。其中每组节点表示一行,其中每个子节点是上节点的子节点.所以MH是孟买的孩子,孟买是印度的孩子。我已经使用 SimpleXMLEncoder 将分层二维数组数据转换为 XML 形式,并为所有节点添加了“名称”属性,我需要按照上面的问题进一步处理这个 XML 以填充到树中。
  • @Flexiflex 您的original question 中的解决方案不起作用吗?

标签: xml apache-flex tree


【解决方案1】:

尝试使用XML类的appendChild()方法

var xml:XML = 
        <body>
            <cat>Animals</cat>
        </body>;

xml.appendChild(<cat>Fish</cat>);




trace(xml.toXMLString()) will show the following output


<body>
    <cat>Animals</cat>
    <cat>Fish</cat>
</body>

【讨论】:

    猜你喜欢
    • 2020-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多