2014-06-11 1 views
0

나는 대부분 알 수없는 내용으로 XML 작업을하고 있습니다. 아주 거친 HTML 출력으로 변환 중입니다.PHP 텍스트 태그에 중첩 된 PHP XML 태그 -> simpleXML

하지만 난 XML이 구조와 투쟁 : 내가 데이터를 얻기 위해 SimpleXML을 요소를 사용할 때, SimpleXML을 모든 일반 텍스트은 "wrappingTag"의 값으로하지만 부품없이 반환

<wrappingTag> 
    text text text 
    <formatTag>formatted text</formatTag> 
    continued text text text text 
    <formatTag2>much more formatted text</formatTag2> 
    continued text text text text 
</wrappingTag> 

"formatTag"값에서. 이것들은 물론 분리되어옵니다. 이전처럼 텍스트를 모으는 것은 불가능한 것처럼 보입니다.

simplexml에서 이것을 쉽게 해결할 수 있습니까? 아니면 독자적으로 파싱해야합니까?

고맙습니다

알렉스

답변

1

DOM은 고생하지 않으며, 당신은 서로 변환 할 수 있습니다.

DOMElement :: $ nodeValue는 모든 자손 텍스트 노드 (cdata 포함)의 텍스트 내용입니다.

노드에서 텍스트 콘텐츠를 가져올 수있는 또 다른 방법은 DOMXPath :: evaluate()입니다.

$dom = new DOMDocument(); 
$dom->loadXml($xml); 
$xpath = new DOMXpath($dom); 
var_dump($xpath->evaluate('string(//wrappingTag[1])')); 

데모 : 많은 도움이 tipp에 대한 https://eval.in/161109

+0

감사합니다. –