1

xml タグのブロック全体をコメントアウトするように、コメント (例: $dom->createComment ...) を追加/開始する方法はありますか? 基本的にはコメント間のコンテンツをオフにしたい。たとえば、次のようになります。

      <TT>
        <AA>keep</AA>
        <!-- comment to blocking
        <BB>hideme1</BB>
        <CC>hideme2</CC>
        -->
        <DD>d's content is good</DD>
      </TT> 

実際、この質問は、新しいクライアントソフトウェア機能をサポートするためにxmlファイルへの変更をマークアップ/ラベル付け/識別できる方法を見つけようとする私の試みの前兆ですが、削除する機能を持つことができます/まれに、クライアントが以前のソフトウェア バージョンにフォールバックする必要がある場合に、これらの xml の変更をバックアウトします (クライアントは既存のノード テキストに小さな変更を加えることが許可されているため、単純に元の xml ファイルに戻ることはできません)。値)。これはすべて、perl スクリプトと LibXML のコア モジュールを介して制御されます (クライアントにないモジュールは使用できません)。

したがって、基本的には、新しいクライアント SW 機能の結果として考えられる 3 つのタイプの xml 変更を特定しました。 1.) 新しい要素ノードを追加する (通常、新しい SW 機能をサポートするため) 2.) 要素ノードを削除する3.) CHANGE node text values (まれですが、新しい sw には新しい値が必要になる場合があります)

3 つのタイプすべてについて、クライアントは変更を取り消すことができる必要があります。私が使用しようと考えていたものの 1 つは、既存の xml ファイルがそれらを使用していないため、ATTRIBUTES です。たとえば、ADD 変更タイプの場合、 'ADD="sw version 4.1"' のような属性を含めることができます。このように、削除する必要がある場合は、perl スクリプトでそれらの属性文字列を見つけて削除するだけで済みます (LibXML メソッドを使用)。CHANGE 変更タイプでも同じです。CHG="newvalue_oldvalue" のような属性を使用してから、そのまま perl (または LibXML) を使用して、属性の内容に基づいて値を元に戻すことができます。ただし、DELETE変更タイプは私に問題を与えています(他のものと同様に笑!)。「維持」できるようになりたい

私はこれがたくさんあることを知っています.LibXMLは初めてです(ただし、perlは初めてです)。どうすればいいのか、またはこの種のリクエストに似たものを見た人がいるのだろうかと思っていました...どんなアドバイスでもありがたいです! ありがとうございました...

4

0 に答える 0