Thread: New use need your help
Brought to you by:
bs_php,
nigelswinson
From: Ji T. <ji...@to...> - 2003-03-08 16:54:35
|
SGVsbG8sDQpJIGp1c3Qgc3RhcnQgdHJ5aW5nIHRoZSB4cGF0aCAzLjMgYnV0IGdvdCBhIHJlYWwg cHJvYmxlbS4NCg0KSSBoYXZlIGEgc2ltcGxlIHRlc3RpbmcgeG1sIG5hbWVkICdsaWIueG1sJw0K PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQ0KPD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8bGlicmFyeT4NCiA8Ym9vaz4N CiAgPHRpdGxlPkhhbm5pYmFsPC90aXRsZT4NCiAgPGF1dGhvcj5UaG9tYXMgSGFycmlzPC9hdXRo b3I+DQogIDxnZW5yZT5TdXNwZW5zZTwvZ2VucmU+DQogIDxwYWdlcz41NjQ8L3BhZ2VzPg0KICA8 cHJpY2U+OC45OTwvcHJpY2U+DQogIDxyYXRpbmc+NDwvcmF0aW5nPg0KIDwvYm9vaz4NCiA8Ym9v az4NCiAgPHRpdGxlPlJ1bjwvdGl0bGU+DQogIDxhdXRob3I+RG91Z2xhcyBFLiBXaW50ZXI8L2F1 dGhvcj4NCiAgPGdlbnJlPlRocmlsbGVyPC9nZW5yZT4NCiAgPHBhZ2VzPjM5MDwvcGFnZXM+DQog IDxwcmljZT43LjQ5PC9wcmljZT4NCiAgPHJhdGluZz41PC9yYXRpbmc+DQogPC9ib29rPg0KPC9s aWJyYXJ5Pg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0NCg0KSSB3YW50IHRvIGtub3cgd2hhdCBhIE5vZGUgcmVh bGx5IGxvb2sgbGlrZSBzbyBJIHdyaXRlIHRoaXMgY29kZSB3aXRoIHBocA0KYW5kIHRyeSB0byB1 c2UgZ2V0Tm9kZSgpIG1ldGhvZC4NCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCjw/cGhwDQogICAgaW5jbHVk ZSAoJ1hwYXRoLmNsYXNzLnBocCcpOw0KICAgICR4bWxPcHRpb25zID0gYXJyYXkoWE1MX09QVElP Tl9DQVNFX0ZPTERJTkcgPT4gVFJVRSwgWE1MX09QVElPTl9TS0lQX1dISVRFID0+IFRSVUUpOw0K ICAgICR4UGF0aCA9JiBuZXcgWFBhdGgoRkFMU0UsICR4bWxPcHRpb25zKTsNCiAgICANCiAgICAk ZnAgPSBmb3BlbignbGliLnhtbCcsJ3InKTsNCiAgICAkeG1sU291cmNlID0gZnJlYWQoJGZwLDQw OTYpOw0KICAgIGZjbG9zZSgkZnApOw0KICAgIA0KICAgIGlmICghJHhQYXRoLT5pbXBvcnRGcm9t U3RyaW5nKCR4bWxTb3VyY2UpKSB7IGVjaG8gJHhQYXRoLT5nZXRMYXN0RXJyb3IoKTsgZXhpdDsg fQ0KICAgIA0KICAgIC8vbm93IGxldCdzIHRyeSB0byBnZXQgYSBub2RlDQogICAgJGZkYXRhPSYk eFBhdGgtPmdldE5vZGUoJy9saWJyYXJ5L2Jvb2tbMV0nKTsNCiAgICBpZighZW1wdHkoJGZkYXRh KSkgDQogICAgew0KICAgICAgZWNobyAnPHByZT4nOw0KICAgICAgcHJpbnRfcigkZmRhdGEpOw0K ICAgIH0NCiAgICBlbHNlDQogICAgew0KICAgICAgICBlY2hvICdObyBkYXRhJzsNCiAgICAgfQ0K DQo/Pg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09DQpJdCBhbHdheXMgcHJpbnQgb3V0ICdObyBkYXRhJy4NCg0K dGhlbiBJIHRyeSB0byBjYWxsIHRoaXMgbWV0aG9kIHdpdGggZGVmYXVsdCBwYXJhbWV0ZXINCg0K JGZkYXRhPSYkeFBhdGgtPmdldE5vZGUoKTsNCkl0IG5vdyBwcmludHMgYSBsYXJnZSBhcnJheSBp bmNsdWRlIGV2ZXJ5IGVsZW1lbnQgb2YgdGhlIHhtbCBmaWxlLg0KDQoNClRoZSBkb2N1bWVudCBz YWlkIGl0IG5lZWRzIGFuIGFic29sdXRlIFhQYXRoIGFuZCB0aGUgZGVmYXVsdCBwYXJhbWV0ZXIg aXMgdGhlICdzdXBlci1yb290JywgDQoNCklzbid0ICIvbGlicmFyeS9ib29rWzFdIiBhIGFib2x1 dGUgWHBhdGg/DQoNCldoYXQgc2hvdWxkIGJlIHRoZSBhYm9sdXRlIHhwYXRoIGlmIEkgd2FudCB0 byBnZXQgdGhlIGZpcnN0IGJvb2sgbm9kZT8NCg0KUmVhbGx5IGNvbmZ1c2VkIGFuZCBuZWVkIHlv dXIgaGVscC4NCg0KVGhhbmtzLA0KSmkgVGFvDQoNCg== |
From: Nigel S. <nig...@us...> - 2003-03-08 17:01:21
|
The document said it needs an absolute XPath and the default parameter = is the 'super-root',=20 Isn't "/library/book[1]" a abolute Xpath? Nope sorry, it's close, but you need to use: "/library[1]/book[1]" Even though there can be only one root node, the [1] is needed. Cheers Nigel |
From: Ji T. <ji...@to...> - 2003-03-08 17:36:27
|
SGkgTmlnZWwsDQpUaGFua3MgZm9yIHlvdXIgcmVwbHkuIEkgdHJpZWQgd2hhdCB5b3Ugc2FpZCAn L2xpYnJhcnlbMV0vYm9va1sxXScsIGJ1dCBpdCBzdGlsbCByZXR1cm4gbm90aGluZy4NCkNhbiB5 b3UgdHJ5IHRvIHJ1biB0aGlzIHNtYWxsIHNhbXBsZT8NCkl0IG11c3QgYmUgc29tZXRoaW5nIGVs c2UuIGJ1dCBJIGRvbid0IGtub3cuDQoNClRoYW5rcywNCkppIFRhbw0KICAtLS0tLSBPcmlnaW5h bCBNZXNzYWdlIC0tLS0tIA0KICBGcm9tOiBOaWdlbCBTd2luc29uIA0KICBUbzogSmkgVGFvIA0K ICBDYzogcGhweHBhdGgtdXNlcnNAbGlzdHMuc291cmNlZm9yZ2UubmV0IA0KICBTZW50OiBTdW5k YXksIE1hcmNoIDA5LCAyMDAzIDE6MDIgQU0NCiAgU3ViamVjdDogUmU6IE5ldyB1c2UgbmVlZCB5 b3VyIGhlbHANCg0KDQogICAgVGhlIGRvY3VtZW50IHNhaWQgaXQgbmVlZHMgYW4gYWJzb2x1dGUg WFBhdGggYW5kIHRoZSBkZWZhdWx0IHBhcmFtZXRlciBpcyB0aGUgJ3N1cGVyLXJvb3QnLCANCg0K ICAgIElzbid0ICIvbGlicmFyeS9ib29rWzFdIiBhIGFib2x1dGUgWHBhdGg/DQoNCiAgTm9wZSBz b3JyeSwgaXQncyBjbG9zZSwgYnV0IHlvdSBuZWVkIHRvIHVzZToNCg0KICAiL2xpYnJhcnlbMV0v Ym9va1sxXSINCg0KICBFdmVuIHRob3VnaCB0aGVyZSBjYW4gYmUgb25seSBvbmUgcm9vdCBub2Rl LCB0aGUgWzFdIGlzIG5lZWRlZC4NCg0KICBDaGVlcnMNCg0KICBOaWdlbA== |
From: Nigel S. <nig...@us...> - 2003-03-08 21:42:45
|
Because you are using the XML_OPTION_CASE_FOLDING option, you need to = do: $fdata =3D &$xPath->getNode('/LIBRARY[1]/BOOK[1]'); Sorry for the confusion. Cheers Nigel =20 ----- Original Message -----=20 From: Ji Tao=20 To: Nigel Swinson=20 Cc: php...@li...=20 Sent: Saturday, March 08, 2003 5:35 PM Subject: Re: New use need your help Hi Nigel, Thanks for your reply. I tried what you said '/library[1]/book[1]', = but it still return nothing. Can you try to run this small sample? It must be something else. but I don't know. |
From: Ji T. <ji...@to...> - 2003-03-09 08:15:20
|
SGkhIA0KVGhhbmsgeW91IGZvciB5b3VyIGtpbmQgcmVwbHksIG5vdyBJIGNhbiBmaW5kIHRoZSBk YXRhIEkgd2FudC4gDQoNCkJ1dCwgSSBzdGlsbCBjb3VsZG4ndCBmaW5kIGEgd2F5IHRvIGNvdW50 IGhvdyBtYW55IGJvb2tzIGFyZSBpbiB0aGUgbGlicmFyeT8NCkFuZCBJIHdhbnQgdG8gaW1wb3J0 IHRoZSBhbGwgYm9vayBkYXRhKHRpdGxlLCBhdXRob3IscGFnZXMscHJpY2UgZXRjLikgaW50byBh IHBocCBhcnJheSBhbmQgcHJlc2VudCB0aGVtIHRvIHRoZSB1c2VyIGluIG90aGVyIGZvcm1hdC4o Rm9yIGV4YW1wbGUgYSBIVE1MIGZvcm0gc2VsZWN0IG1lbnUgb3B0aW9ucykNCg0KSXMgbXkgaWRl YSB3b3JrYWJsZSB3aXRoIFhwYXRoPw0KDQpBZ2FpbixhdHRhaGNlZCBteSBzYW1wbGUgeG1sIGZp bGUuDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09DQo8P3htbCB2ZXJzaW9uPSIxLjAiPz4NCjxsaWJyYXJ5Pg0KIDxi b29rIGlzYm49IjA0NDAyMjQ2NzUiPg0KICA8dGl0bGU+SGFubmliYWw8L3RpdGxlPg0KICA8YXV0 aG9yPlRob21hcyBIYXJyaXM8L2F1dGhvcj4NCiAgPGdlbnJlPlN1c3BlbnNlPC9nZW5yZT4NCiAg PHBhZ2VzPjU2NDwvcGFnZXM+DQogIDxwcmljZT44Ljk5PC9wcmljZT4NCiAgPHJhdGluZz40PC9y YXRpbmc+DQogPC9ib29rPg0KIDxib29rIGlzYm49IjA0NTE0MDk4MDkiPg0KICA8dGl0bGU+UnVu PC90aXRsZT4NCiAgPGF1dGhvcj5Eb3VnbGFzIEUuIFdpbnRlcjwvYXV0aG9yPg0KICA8Z2VucmU+ VGhyaWxsZXI8L2dlbnJlPg0KICA8cGFnZXM+MzkwPC9wYWdlcz4NCiAgPHByaWNlPjcuNDk8L3By aWNlPg0KICA8cmF0aW5nPjU8L3JhdGluZz4NCiA8L2Jvb2s+DQo8L2xpYnJhcnk+DQo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQ0KDQpCZXN0IHdpc2hlcywNCkppIFRhbw0KICAtLS0tLSBPcmlnaW5hbCBNZXNzYWdl IC0tLS0tIA0KICBGcm9tOiBOaWdlbCBTd2luc29uIA0KICBUbzogSmkgVGFvIA0KICBDYzogcGhw eHBhdGgtdXNlcnNAbGlzdHMuc291cmNlZm9yZ2UubmV0IA0KICBTZW50OiBTdW5kYXksIE1hcmNo IDA5LCAyMDAzIDU6NDEgQU0NCiAgU3ViamVjdDogUmU6IE5ldyB1c2UgbmVlZCB5b3VyIGhlbHAN Cg0KDQogIEJlY2F1c2UgeW91IGFyZSB1c2luZyB0aGUgWE1MX09QVElPTl9DQVNFX0ZPTERJTkcg b3B0aW9uLCB5b3UgbmVlZCB0byBkbzoNCg0KICAkZmRhdGEgPSAmJHhQYXRoLT5nZXROb2RlKCcv TElCUkFSWVsxXS9CT09LWzFdJyk7DQoNCiAgU29ycnkgZm9yIHRoZSBjb25mdXNpb24uDQoNCiAg Q2hlZXJzDQoNCiAgTmlnZWwNCg0KICAgIC0tLS0tIE9yaWdpbmFsIE1lc3NhZ2UgLS0tLS0gDQog ICAgRnJvbTogSmkgVGFvIA0KICAgIFRvOiBOaWdlbCBTd2luc29uIA0KICAgIENjOiBwaHB4cGF0 aC11c2Vyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQgDQogICAgU2VudDogU2F0dXJkYXksIE1hcmNo IDA4LCAyMDAzIDU6MzUgUE0NCiAgICBTdWJqZWN0OiBSZTogTmV3IHVzZSBuZWVkIHlvdXIgaGVs cA0KDQoNCiAgICBIaSBOaWdlbCwNCiAgICBUaGFua3MgZm9yIHlvdXIgcmVwbHkuIEkgdHJpZWQg d2hhdCB5b3Ugc2FpZCAnL2xpYnJhcnlbMV0vYm9va1sxXScsIGJ1dCBpdCBzdGlsbCByZXR1cm4g bm90aGluZy4NCiAgICBDYW4geW91IHRyeSB0byBydW4gdGhpcyBzbWFsbCBzYW1wbGU/DQogICAg SXQgbXVzdCBiZSBzb21ldGhpbmcgZWxzZS4gYnV0IEkgZG9uJ3Qga25vdy4NCg== |
From: Nigel S. <nig...@us...> - 2003-03-11 02:28:13
|
Thank you for your kind reply, now I can find the data I want.=20 But, I still couldn't find a way to count how many books are in the = library? count($xPath->match(/LIBRARY[1]/BOOK)) And I want to import the all book data(title, author,pages,price etc.) = into a php array and present them to the user in other format.(For = example a HTML form select menu options) Is my idea workable with Xpath? Yes very much so :o) Something along the lines of: $aBookAddress =3D $xPath->match('/LIBRARY[1]/BOOK'); foreach($aBookAddress as $BookAddress) { $aBook =3D array(); $aBook['Title'] =3D $xPath->getData($BookAddress.'/title'); $iISBN =3D $xPath->getAttribute($BookAddress.'/title', 'ISBN'); $aBooks[$iISBN] =3D $aBook; } (The above is completely untested, written off the top of my head, but = it's a good template to start from) Cheers Nigel |