2016-06-16 25 views
0

XMLの変換にJOOXを使用する際に問題があります。しかし、例えば、このようなXMLが入力されJOOX自己終了XMLタグ

Match xml = $(new StringReader(content.toString())); 
     Match find = xml.find(fieldTag); 
     Iterator<Element> iterator = find.iterator(); 
     while(iterator.hasNext()){ 
      Element next = iterator.next(); 
      String text = $(next).text(); 
      if(text.length() == 0) continue; 

      next.setNodeValue("...."); 
     } 

    return xml.toString(); 

<Body> 
<A>ABC</A> 
<B></B> 
</Body> 

これは何である私は、私は次のようにコードを持っているfieldTag

に一致する要素にいくつかの変更をしています結果として取得:

<Body> 
<A>transformed</A> 
<B/> 
</Body> 

要素BはセルフクローズXMLタグであることがわかります。誰も私はそれを<B></Bにすることを知っていますか?

答えて

1

なぜ重要ですか? XMLパーサーで結果の文書を読む人は、その違いに気付かず、XMLパーサーではないものでそれを読む人は誰もが再教育を受ける必要があります。ほとんどのXMLシリアライザでは、属性値の前後にシングルクォートかダブルクォートのどちらを選択するかを選択することはできません。

+0

これは、レガシーシステムとXMLで通信する際の要件の1つです。 –

+0

さて、「システムの1つが実際にXMLを正しく実行しないため、誰もが調整しなければならない」と言ってすぐに、オープンスタンダードを使用することの利点をすべて失いつつあります。コストが大幅に増加しています。実際のXMLを理解するためにレガシーシステムを本当に変更できない場合は、実際のXMLを制限付きの方言に変換するゲートウェイでフロントエンドをフロントエンドします。 –

関連する問題