xml 태그에서만 uri 접두어 (태그 내)를 제거하려면 정규식이 필요합니다.정규식을 XML 태그에서 (태그 내의) uri 접두어 만 제거합니다.
예
입력 :
는<ns1:fso xlmns:="http://xyz"><sender>abc</sender></ns1:fso>
출력 : 여기에
<fso xlmns:="http://xyz"><sender>abc</sender></fso>
내 코드입니다 :
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public final class RegularExpressionTest {
private static String REGEX1 = "<\\/?([a-z0-9]+?:).*?>";
private static String INPUT = "<ns1:fso xmlns:ns1='https://www.example.com/fsoCanonical'>
<ns2:senderId xmlns='http://www.example.com/fsoCanonical'>abc</ns2:senderId>
<receiverId xmlns='http://www.example.com/fsoCanonical'>testdata</receiverId>
<messageId xmlns='http://www.example.com/fsoCanonical'>4CF4DC05126A0077E10080000A66C871</messageId>
</ns1:fso> ";
private static String REPLACE = "";
public static void main(String[] args) {
Pattern p = Pattern.compile(REGEX1);
Matcher m = p.matcher(INPUT); // get a matcher object
StringBuffer sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, REPLACE);
}
m.appendTail(sb);
System.out.println(sb.toString());
}
나는 아무 생각 없다 여기
private static String INPUT =
입력 XML 붙여 t 수 위 코드에서와 같이 정확한 아니다. 대신 비누 메시지의 예를들 수 있습니다.
나는 자바로 작성해야한다. 나는 정규 표현식이 좋지 않다. ... 고마워 ... – samash
잘'ns1 :'과 일치한다 - 그래서 당신은 빈 문자열. – hsz
코드를 게시하십시오 (주석을 편집하는 것이 아니라 질문을 편집하십시오). – hsz