2009-10-01 4 views
0

일부 비어있는 태그 (예 : <loader local="test.bat" dir="/usr/home"> ) 내가 우아한 (정규식을 사용하여 :)) (자바를 사용하여)이 태그의 각 "로더"태그 "/"를 추가 할 수 있습니다; 다음과 같아야합니다.태그 끝 부분에 "/"를 추가하여 XMl 문서 형식을 지정하십시오.

<loader local="test.jpg" dir="/usr/home"/> 
+0

태그가 현재 불균형 (잘못 형성)되었거나 빈 몸체로 닫 혔습니까? 즉 ''또는 '입니까? –

+0

처음으로,

답변

2

일반 XML 문서에서이를 수행 할 수있는 정규 표현식이 있는지 확실하지 않지만 올바른 XML로 변환하려는 경우 깔끔하게 사용할 수 있습니다. 예를 들어

의 메모장에 통합 ++

TextFX - 깔끔한 TextFx html로 - 깔끔한 Reindent XML을

<abc> 
    <loader local="test.jpg" dir="/usr/home" /> 
</abc> 

에서

<abc> 
    <loader local="test.jpg" dir="/usr/home"/> 
</abc> 

결과가 기대 아마. Tidy도 메모장처럼 응용 프로그램에 통합 할 수 있습니다. ++

0

보통 면책 조항 : regular expressions are really not the best choice for processing xml에 유의하십시오. 거의 대부분의 정규 표현식은 어떤 형태로든 결함이있을 것이므로이 답변의 정규 표현식은 임의 코드로 작성된 것이 아니라 고도로 제어 된 용도로 사용됩니다. 여기

이 가능한 솔루션 (당신이 속성에 꺾쇠 괄호를 닫는 경우 즉, 예를 들어, 작동하지 않습니다)

xml.replaceAll("<loader\\b(.*?)>", "<loader$1/>"); 
+0

속성에 꺾쇠 괄호가 없습니다. 작동하지 않습니다. –

+0

정말입니까? 변수에 반환 값을 다시 할당 했습니까 (즉,'xml = xml.replaceAll ...'?)? – soulmerge

1

이별로 도움이되지 않을 수도 있습니다하지만 전체 시간 절약 생각

하는 경우 나는 이런 종류의 문제가 있었는데, 내가 할 수있는 일은 데이터 제공 업체에 가서 올바른 파일을 요청하는 것이었다. 그들이 xml을 제공 할 것이라고 말하면 유효한 파일을 제공해야하며 xml은 파일이 유효하지 않다고 쉽게 말할 수있는 잘 정의 된 표준입니다.

XML의 주요 이점 중 하나는 표준이며 많은 테스트를 거친 지원 도구를 사용할 수 있다는 것입니다. 파일이 xml이 아니라면 문서화되지 않은 또 다른 것입니다. 그리고 모든 사람들은 엉망진창을 다루는데 시간을 소비해야합니다.

공급자가 코드를 수정하지 않은 경우에만 코딩을 수행합니다. 그러나 공급자는 향후 계약 방식에 영향을 미치지 않습니다.

관련 문제