2009-05-19 3 views
1

나는 DOM 함수를 사용하여 XML 파일을 읽는 프로그램이 있습니다PHP DOM 함수

$doc = new DOMDocument('1.0'); 
$doc->load("myFile.xml"); 

나는이 문서에서 노드로 이동할 때, 어떤 라인을 말할 수있는 방법이를 노드가 정의 된 입력 파일의? 예를 들어

:

1: <!-- myFile.xml --> 
2: <foobar> 
3:  <foo>FOO</foo> 
4:  <bar>BAR</bar> 
5: </foobar> 

과 PHP :

$xp = new DOMXPath($doc); 
$bars = $xp->query("//bar"); 
$myBar = $bars[0]; 
echo "The first <bar> element is on line " . performMagicHere(); // 4 

답변

2

$element->getLineNo()은 시작 태그의 줄 번호를 반환합니다. 참고 : 둘 이상의 줄에 걸쳐있는 태그를 여는 경우 여는 태그의 끝을 반환합니다. DOMText 노드에서는 작동하지 않는 것 같습니다 (0을 반환).

http://us3.php.net/manual/en/domnode.getlineno.php

+0

우수! 이것은 PHP 5.3.0 이상에서만 사용됩니다. – nickf

1

당신은 정말 PHP의 DOM 클래스를 사용하여이 작업을 수행 할 수 없습니다. DOM Level 3 added support for this,하지만 아직 PHP에서는 DOM 레벨 3을 지원하지 않습니다.