2010-12-13 6 views
0

..XML列置換私はXMLで文字列を置換するにはどうすればよい

私は簡単な使用している場合は、xmlInStrが文字列である

<schema>cs/src/main/castor/document.xsd</schema> 

に交換する必要が

<schema>src/main/castor/document.xsd</schema> 

をしましたXML文書の形式

xmlInStr.replaceAll(
    "src/main/castor/GridDocument.xsd",  
    "correspondenceCastor/src/main/castor/GridDocument.xsd" 
); 

私は代わりに取り替えようとしました。

これは機能しません。任意の手掛かりこの

int型INDX = from.indexOf(から)のようなマネージド

。 xmlInStr = xmlInStr.substring(0、indx)+〜+ xmlInStr.substring(indx + from.length());

答えて

1

repalceまたはreplaceAllを使用できます。とにかく、このメソッドから返された値を使用する必要があります。 Stringクラスは不変なので、このメソッドは文字列自体を変更しません。

+0

あなたは正しいです、私は基本を逃した! – srinannapa

3

String.replaceAllは、最初の引数として正規表現をとります。代わりにreplaceを使用してください。

2

XMLパーサーを使用してXMLを解析したり操作したりします。正規表現ベースの文字列置換メカニズムを使用しないでください。機能しなくなり、苦痛をもたらすだけです。

0

replace()replaceAll()は、実際には文字列内の何も置き換えません(文字列は不変です)。代わりに新しい文字列を返しますが、戻り値を破棄するだけでどこにも表示されません。ちなみに、.toCharArray().toString()は私には全く役に立たないようです。文字リテラルは、すでに本格的なStringです。

本当に代わりにXMLパーサーを使用する必要があります。あなたの仕事が非常にシンプルで、交換すべきでないものを交換しないと確信している場合を除きます。

関連する問題