2013-08-20 3 views
0

이 내 XML 내가 XPath는 다음을 반환하는 데 사용할 수있는XPath를 사용하여 내부 XML 가져 오기?

<my_xml> 
    <record> 
     <p>hello <b>world</b> this is some html</p> 
    </record> 
    </my_xml> 

입니까?

<p>hello <b>world</b> this is some html</p> 
+0

'p' 노드를 얻을 수 있습니다. 그런 다음 문자열로 다시 직렬화 할 수 있습니다. 어떤 맥락에서 (응용 프로그램, 언어, ...) xpath를 사용하고 있습니까? – mata

+1

"반환"이란 의미에 달려 있습니다. XPath 표현을 실제로 어떻게 실행하고 있습니까? 어떤 프로그래밍 언어와 어떤 도구/라이브러리를 사용하고 있습니까? 지금까지 해보신 코드의 관련 스 니펫을 게시 할 수 있습니까? –

+0

당신이 사용하는 언어는'Ruby','Python'등입니까? –

답변

0

빠른 대답은 아니오입니다. XPath를 사용하여이를 수행 할 수는 없지만 부모 노드 (예 : "record")를 선택하면 XML을 구문 분석하는 데 사용하는 언어로 조작 할 수 있어야합니다. 불행히도 "쉽지 않을"수 있습니다.

innerHTML 속성을 원하지만 HTML DOM 대신 XML DOM이 필요하다고 생각됩니다. 불행히도 XML DOM에는 이와 같은 것이 없습니다. 노드 자체에 신경 쓰지 않는다면 textContent 속성을 사용할 수 있습니다. 예를 들어, "hello world this is some html"을 얻을 것이고, 이는 당신이 원하는 것 같지 않습니다.

자바에서 파싱 알고리즘을 포함하는 this similar question을 확인하십시오. 그것은 당신이 XML을 구문 분석하는 데 사용하는 언어로 비슷한 알고리즘을 작성해야 할 것 같습니다.

+0

대부분의 언어는 이미 XML 파서에 노드에 해당하는 객체를 XML로 직렬화하는 'asXML'과 같은 메소드를 제공합니다. – choroba

0
my_xml/record/child::* 

아이 :: *이 전체가 반환, 매우 가능하면 DOT를 사용하는 것입니다 컨텍스트 노드 앞으로이 찾고있는 사람들을위한 see details

0

의 모든 요소 자식을 선택 텍스트로 노드 내용 (적어도 MSSQL xpath에서).

'(/my_xml/record/.)[1]' 
관련 문제