Я использую это в SimpleXML и PHP:SimpleXML Как получить номер строки узла?
foreach ($xml->children() as $node) {
echo $node->attributes('namespace')->id;
}
Это печатает атрибут всех узлов id
(с использованием пространства имен).
Но теперь я хочу знать номер строки, что $node
находится в XML-файле.
Мне нужен номер строки, потому что я анализирую XML-файл и возвращаю информацию о возможных проблемах для их устранения. Поэтому мне нужно сказать что-то вроде: «Здесь у вас ошибка в строке X». Я уверен, что файл XML будет в стандартном формате, который будет иметь достаточно разрывов строк, чтобы это было полезно.
Зачем вам нужен номер строки? Файл XML может содержать только одну строку, разрывы строк не являются обязательными. Вы можете получить номер записи, используя 'foreach ($ xml-> children() как $ entry => $ node) {' –
@MarkBaker Мне нужен номер строки, потому что я анализирую xml-файл и возвращаюсь к пользователю информацию о возможных проблемах для их решения. Поэтому мне нужно сказать что-то вроде: «Здесь у вас ошибка в строке X». Я уверен, что файл XML будет в стандартном формате, который будет иметь достаточно строк. Спасибо за комментарий. – Ismaestro
Вы «поручитель» неуместны .... нет необходимости в том, чтобы файл XML имел разрывы строк, он не обязан быть каким-либо образом пресечен, и в действительности он часто не преуменьшен. –