0

現在、以下の XML を受信して​​いる FLEX アプリケーションがあります。不要なノードを削除してクリーンアップする必要がありますが、その子は保持します。削除のさまざまな組み合わせを試しましたが、常に子も削除してしまいます。

私が得ているもの:

<cmisObject folder="true" name="documentLibrary">
  <children>
    <cmisObject folder="true" name="Test Folder">
      <children>
        <cmisObject folder="false" name="Test Word Doc.doc">
          <children/>
        </cmisObject>
        <cmisObject folder="false" name="Test Excel.xls">
          <children/>
        </cmisObject>
        <cmisObject folder="true" name="Test SubFolder">
          <children>
            <cmisObject folder="false" name="TestSubFolderDoc.doc">
              <children/>
            </cmisObject>
          </children>
        </cmisObject>
      </children>
    </cmisObject>
    <cmisObject folder="false" name="TestMainDoc.doc">
      <children/>
    </cmisObject>
  </children>
</cmisObject>

変更したいもの:

<cmisObject folder="true" name="documentLibrary">
    <cmisObject folder="true" name="Test Folder">
        <cmisObject folder="false" name="Test Word Doc.doc">
        </cmisObject>
        <cmisObject folder="false" name="Test Excel.xls">
        </cmisObject>
        <cmisObject folder="true" name="Test SubFolder">
            <cmisObject folder="false" name="TestSubFolderDoc.doc">
            </cmisObject>
        </cmisObject>
    </cmisObject>
    <cmisObject folder="false" name="TestMainDoc.doc">
    </cmisObject>
</cmisObject>

これについて何か考えはありますか?

4

1 に答える 1

1

こんにちは以下のコードはあなたを助けるかもしれません: -

私はあなたが探しているものを達成するためにいくつかの回避策を試しました: -

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
        <fx:XML id="sampleXML" format="e4x" >
            <cmisObject folder="true" name="documentLibrary">
                <children>
                    <cmisObject folder="true" name="Test Folder">
                        <children>
                            <cmisObject folder="false" name="Test Word Doc.doc">
                                <children/>
                            </cmisObject>
                            <cmisObject folder="false" name="Test Excel.xls">
                                <children/>
                            </cmisObject>
                            <cmisObject folder="true" name="Test SubFolder">
                                <children>
                                    <cmisObject folder="false" name="TestSubFolderDoc.doc">
                                        <children/>
                                    </cmisObject>
                                </children>
                            </cmisObject>
                        </children>
                    </cmisObject>
                    <cmisObject folder="false" name="TestMainDoc.doc">
                        <children/>
                    </cmisObject>
                </children>
            </cmisObject>
        </fx:XML>
    </fx:Declarations>

    <fx:Script>
        <![CDATA[

            private function parseHandler():void
            {
                var newXMLString:String = removeElements(String(sampleXML));
                var responseXML:XML = new XML(newXMLString);
                trace(responseXML)
            }

            private function removeElements(inputXml:String):String
            {
                inputXml = inputXml.split('<children>').join('');
                inputXml = inputXml.split('</children>').join('');
                inputXml = inputXml.split('<children/>').join('');
                return inputXml;
            }

        ]]>
    </fx:Script>

    <s:Button id="btnID" label="Parse XML" click="parseHandler()"/>

</s:Application>

出力: -

<cmisObject folder="true" name="documentLibrary">
  <cmisObject folder="true" name="Test Folder">
    <cmisObject folder="false" name="Test Word Doc.doc"/>
    <cmisObject folder="false" name="Test Excel.xls"/>
    <cmisObject folder="true" name="Test SubFolder">
      <cmisObject folder="false" name="TestSubFolderDoc.doc"/>
    </cmisObject>
  </cmisObject>
  <cmisObject folder="false" name="TestMainDoc.doc"/>
</cmisObject>
于 2012-08-17T08:41:35.627 に答える