2016-06-14 8 views
-1

私は、XMLに関する1助けを必要としています。 xmlタグの要素名の間のスペースを削除したいと思います。例えばのために:私はので、私は顧客&名前の間にスペースを削除することは、このような<Customer name><address book >のようなXMLタグで構成されて1 xmlstringを持っています。 <customername>&<addressbook>のようになります。 XMLタグの要素名の間のスペースのみ。 xsltやjavaを使ってこれを助けてください。削除スペースXMLタグの要素名から

+1

それが有効なXMLではありませんので、それは、 '<顧客名>'のような要素名にスペースを使用してXMLを持ってすることはできません。そのため、XMLパーサを使って読むことはできないので、修正することはできません。 –

+0

こんにちは、はい私は実際に私はjavaコードを使用して知っている私はjsonの文字列をxmlstringに変換しています。しかし、xmlparserを使用してそれを解析する前に私はあなたが言及したように解析されます。 – T14h1r

+0

jsonからxmlに変換するときにそれを修正します。 –

答えて

0

2つの角かっこの間に空白が含まれているパターンを一致させると、これらのグループを使用して空白をすべて置き換えて元の文字列に再挿入できます。

String input = "<Customer name> <address book >"; 

Pattern p = Pattern.compile("(<[^>]*?\\s[^>]*?>)"); 
Matcher m = p.matcher(input); 

StringBuffer result = new StringBuffer(); 

while (m.find()) { 
    String replace = m.group().replaceAll("\\s+", ""); 
    m.appendReplacement(result, replace); 
} 

m.appendTail(result); 
System.out.println(result); 

これが印刷されます。パターンは開始中括弧を検索し、空白を見つけるまで終了中括弧でないものと一致し、終了中括弧が見つかるまで終了中括弧ではないものと一致します。一致するものが見つかった場合は、空白を削除して、一致した文字列を入力文字列に置き換えます。

+0

そして、ソースに属性が含まれていれば? –

関連する問題