Доброго времени суток!
Путем путешествий по сети нашел такой код:
Но в данном случае не могу понять, как считать данные, если автор не один?
Вроде есть функция SelectNodes, но как ее применить и какого вида данные она должна получать не пойму - переменные и массивы у меня выходили пустые
Отрезок со структурой:
Путем путешествий по сети нашел такой код:
Код:
Global $g_oXML
Global $Filename = "d:\Books\test\FB2\Анджей Сапковский & Станислав Бересь - История и фантастика.fb2"
$g_oXML = ObjCreate("Microsoft.XMLDOM")
If $g_oXML.load($Filename) Then
Local $oNode = $g_oXML.SelectSingleNode("//FictionBook/description/title-info")
$sLastName = _ReadXMLNodeText($oNode, "author/last-name")
$sMiddleName = _ReadXMLNodeText($oNode, "author/middde-name")
$sFirstName = _ReadXMLNodeText($oNode, "author/first-name")
$sGenre = _ReadXMLNodeText($oNode, "genre")
$sSequenseName = _ReadXMLNodeAttrib($oNode, "sequence", "name")
$sSequenseNumber = _ReadXMLNodeAttrib($oNode, "sequence", "number")
$sBookTitle = _ReadXMLNodeText($oNode, "book-title")
EndIf
Func _ReadXMLNodeText($oXMLobj, $sNode)
Local $result = $oXMLobj.SelectSingleNode($sNode)
If IsObj($result) Then
Return $result.text
Else
Return ""
EndIf
EndFunc ;==>_ReadXMLNodeText
Func _ReadXMLNodeAttrib($oXMLobj, $sNode, $sAttrib)
Local $sXPath = $sNode & "[@" & $sAttrib & "]"
Local $result = $oXMLobj.SelectSingleNode($sXPath)
If IsObj($result) Then
Return $result.getAttribute($sAttrib)
Else
Return ""
EndIf
EndFunc ;==>_ReadXMLNodeAttrib
Но в данном случае не могу понять, как считать данные, если автор не один?
Вроде есть функция SelectNodes, но как ее применить и какого вида данные она должна получать не пойму - переменные и массивы у меня выходили пустые
Отрезок со структурой:
<?xml version="1.0" encoding="UTF-8"?>
<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink">
<description>
<title-info>
<book-title>Польская фэнтези (сборник)</book-title>
<author><first-name>Анджей</first-name><last-name>Сапковский</last-name></author>
<author><first-name>Яцек</first-name><last-name>Собота</last-name></author>
<author><first-name>Томаш</first-name><last-name>Колодзейчак</last-name></author>
<author><first-name>Яцек</first-name><last-name>Дукай</last-name></author>
<genre>sf_fantasy</genre>
<annotation><p>Поклонники польской фэнтези! Вы и вправду верите, что в этом жанре все «началось с Сапковского и им же заканчивается»? Вы не правы! Хотите проверить? Пожалуйста! Перед вами — ПОЛЬСКАЯ ФЭНТЕЗИ как она есть. Повести и рассказы — озорные и ироничные, мрачновато-суровые, философские и поэтичные, ОЧЕНЬ разные — и ОЧЕНЬ талантливые. НЕ ПРОПУСТИТЕ!</p><empty-line/></annotation>
<date/>
<coverpage>
<image l:href="#cover.jpg"/></coverpage>
<lang>ru</lang>
<src-lang>pl</src-lang>
<translator>
<first-name>Евгений</first-name>
<middle-name>Павлович</middle-name>
<last-name>Вайсброт</last-name>
</translator>
<translator>
<first-name>Е.</first-name>
<last-name>Барзова</last-name>
</translator>
<translator>
<first-name>Г.</first-name>
<last-name>Мурадян</last-name>
</translator>
</title-info>
<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink">
<description>
<title-info>
<book-title>Польская фэнтези (сборник)</book-title>
<author><first-name>Анджей</first-name><last-name>Сапковский</last-name></author>
<author><first-name>Яцек</first-name><last-name>Собота</last-name></author>
<author><first-name>Томаш</first-name><last-name>Колодзейчак</last-name></author>
<author><first-name>Яцек</first-name><last-name>Дукай</last-name></author>
<genre>sf_fantasy</genre>
<annotation><p>Поклонники польской фэнтези! Вы и вправду верите, что в этом жанре все «началось с Сапковского и им же заканчивается»? Вы не правы! Хотите проверить? Пожалуйста! Перед вами — ПОЛЬСКАЯ ФЭНТЕЗИ как она есть. Повести и рассказы — озорные и ироничные, мрачновато-суровые, философские и поэтичные, ОЧЕНЬ разные — и ОЧЕНЬ талантливые. НЕ ПРОПУСТИТЕ!</p><empty-line/></annotation>
<date/>
<coverpage>
<image l:href="#cover.jpg"/></coverpage>
<lang>ru</lang>
<src-lang>pl</src-lang>
<translator>
<first-name>Евгений</first-name>
<middle-name>Павлович</middle-name>
<last-name>Вайсброт</last-name>
</translator>
<translator>
<first-name>Е.</first-name>
<last-name>Барзова</last-name>
</translator>
<translator>
<first-name>Г.</first-name>
<last-name>Мурадян</last-name>
</translator>
</title-info>