큰 XML 파일이 있습니다. 몇 가지 문제를 해결하고 XML 파일에서 특정 노드를 추출하고 싶습니다. 나는 SimpleXML 객체를 원하지 않는다. 내가 원한 문자열 (bash/sed/php에 게시)과 일치하는 새로운 파일을 만들고 싶다.일반 텍스트 XML 노드를 추출하는 정규식
<?xml version="1.0" encoding="UTF-8"?>
<definition></definition>
<metadata></metadata>
<nodeToRegex>
<nodeImightwant>
<subnode>
<subsubnode1></subsubnode1>
<subsubnodeToCheck>stringCheck</subnodeToCheck>
<subsubnode2></subsubnode2>
</subnode>
</nodeImightwant>
<nodeImightwant></nodeImightwant>
<nodeImightwant></nodeImightwant>
</nodeToRegex>
그래서이 XML 파일에서 nodeToRegex를 제외한 모든 노드의 모든 라인을 원합니다. nodeToRegex에서 stringCheck 문자열이 "aValidString"과 같으면 nodeImightwant 만 원한다. 정규식을 통해이 작업을 수행 할 수 있습니까? 아니면 파일에서 항목을 복사하여 붙여 넣기해야합니까? (나의 정규 기술은 subpar이다)
을 여러 가지 이유를 들어 (찾아 * 예를 들어, Cthulhu regex *)를 사용하여 정규식을 사용하여 XML을 파싱하는 것은 좋은 생각이 아닙니다. 유지 보수가 어려우며 신속하게 손에서 벗어납니다. 쉽게 사용할 수있는 수많은 잘 검증 된 XML 구문 분석 솔루션 중 하나를 사용하는 것이 좋습니다. – Nit