คำถามติดแท็ก xpath

วัตถุประสงค์หลักของ XPath คือการระบุส่วนต่างๆของเอกสาร XML นอกจากนี้ยังมีสิ่งอำนวยความสะดวกขั้นพื้นฐานสำหรับการจัดการสตริงตัวเลขและบูลีน XPath ใช้ไวยากรณ์ที่กะทัดรัดและไม่ใช่ XML XPath ทำงานบนนามธรรมโครงสร้างเชิงตรรกะของเอกสาร XML แทนที่จะเป็นไวยากรณ์พื้นผิว

10
ฉันจะจับคู่กับแอตทริบิวต์ที่มีสตริงที่แน่นอนได้อย่างไร
ฉันมีปัญหาในการเลือกโหนดตามคุณลักษณะเมื่อแอตทริบิวต์มีมากกว่าหนึ่งคำ ตัวอย่างเช่น: <div class="atag btag" /> นี่คือนิพจน์ xpath ของฉัน: //*[@class='atag'] นิพจน์ใช้งานได้กับ <div class="atag" /> แต่ไม่ใช่สำหรับตัวอย่างก่อนหน้า ฉันจะเลือก<div>?
442 xpath 

7
รับแอตทริบิวต์โดยใช้ XPath
รับโครงสร้าง XML ดังนี้: <?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore> ฉันจะได้รับค่าของlang(ที่langเป็นengในชื่อหนังสือ) สำหรับองค์ประกอบแรก?
344 xml  xpath 

9
วิธีการเลือกองค์ประกอบแรกที่มีแอตทริบิวต์เฉพาะโดยใช้ XPath
XPath เลือกหนังสือเล่มแรกภายใต้โหนดbookstore/book[1]bookstore ฉันจะเลือกโหนดแรกที่ตรงกับเงื่อนไขที่ซับซ้อนมากขึ้นได้อย่างไรเช่นโหนดแรกที่ตรงกับ /bookstore/book[@location='US']
300 xpath 


8
วิธีอ่าน XML โดยใช้ XPath ใน Java
ฉันต้องการอ่านข้อมูล XML โดยใช้ XPath ใน Java ดังนั้นสำหรับข้อมูลที่ฉันรวบรวมฉันไม่สามารถแยกวิเคราะห์ XML ตามความต้องการของฉัน นี่คือสิ่งที่ฉันต้องการจะทำ: รับไฟล์ XML จากออนไลน์ผ่าน URL จากนั้นใช้ XPath เพื่อแยกวิเคราะห์ฉันต้องการสร้างสองวิธีในนั้น หนึ่งในนั้นคือฉันป้อนรหัสแอตทริบิวต์โหนดที่เฉพาะเจาะจงและฉันได้รับโหนดเด็กทั้งหมดเป็นผลและที่สองคือฉันคิดว่าฉันต้องการที่จะได้รับค่าโหนดเด็กที่เฉพาะเจาะจงเท่านั้น <?xml version="1.0"?> <howto> <topic name="Java"> <url>http://www.rgagnonjavahowto.htm</url> <car>taxi</car> </topic> <topic name="PowerBuilder"> <url>http://www.rgagnon/pbhowto.htm</url> <url>http://www.rgagnon/pbhowtonew.htm</url> </topic> <topic name="Javascript"> <url>http://www.rgagnon/jshowto.htm</url> </topic> <topic name="VBScript"> <url>http://www.rgagnon/vbshowto.htm</url> </topic> </howto> ในตัวอย่างด้านบนฉันต้องการอ่านองค์ประกอบทั้งหมดถ้าฉันค้นหาผ่าน @name และฟังก์ชั่นเดียวที่ฉันต้องการ url จาก @name 'Javascript' จะคืนค่าองค์ประกอบโหนดเดียว
273 java  xml  parsing  xpath 

7
แยกค่าของโหนดแอตทริบิวต์ผ่าน XPath
ฉันจะแยกค่าของโหนดแอ็ตทริบิวต์ผ่าน XPath ได้อย่างไร ไฟล์ XML ตัวอย่างคือ: <parents name='Parents'> <Parent id='1' name='Parent_1'> <Children name='Children'> <child name='Child_2' id='2'>child2_Parent_1</child> <child name='Child_4' id='4'>child4_Parent_1</child> <child name='Child_1' id='3'>child1_Parent_1</child> <child name='Child_3' id='1'>child3_Parent_1</child> </Children> </Parent> <Parent id='2' name='Parent_2'> <Children name='Children'> <child name='Child_1' id='8'>child1_parent2</child> <child name='Child_2' id='7'>child2_parent2</child> <child name='Child_4' id='6'>child4_parent2</child> <child name='Child_3' id='5'>child3_parent2</child> </Children> </Parent> </parents> จนถึงตอนนี้ฉันมีสตริง XPath นี้: …
269 xml  xpath 

6
XPath มี (text (), 'some string') ไม่ทำงานเมื่อใช้กับโหนดที่มีโหนดย่อย Text มากกว่าหนึ่งโหนด
ฉันมีปัญหาเล็กน้อยกับ Xpath ที่มี dom4j ... ให้บอกว่า XML ของฉันคือ <Home> <Addr> <Street>ABC</Street> <Number>5</Number> <Comment>BLAH BLAH BLAH <br/><br/>ABC</Comment> </Addr> </Home> ให้บอกว่าฉันต้องการค้นหาโหนดทั้งหมดที่มี ABC ในข้อความที่ระบุองค์ประกอบราก ... ดังนั้น xpath ที่ฉันต้องการจะเขียนก็คือ //*[contains(text(),'ABC')] อย่างไรก็ตามนี่ไม่ใช่สิ่งที่ Dom4j ส่งคืน .... นี่คือปัญหา dom4j หรือความเข้าใจของฉันว่า xpath ทำงานอย่างไร เนื่องจากข้อความค้นหานั้นส่งคืนเฉพาะองค์ประกอบถนนและไม่ใช่องค์ประกอบความคิดเห็น DOM ทำให้องค์ประกอบความคิดเห็นเป็นองค์ประกอบประกอบที่มีสี่แท็กสองแท็ก [Text = 'XYZ'][BR][BR][Text = 'ABC'] ฉันจะสมมติว่าแบบสอบถามควรจะคืนองค์ประกอบเพราะมันควรจะหาองค์ประกอบและเรียกใช้มีอยู่ในนั้น แต่มันไม่ ... แบบสอบถามต่อไปนี้จะส่งคืนองค์ประกอบ แต่จะส่งกลับมากกว่าองค์ประกอบนั้นก็จะส่งกลับองค์ประกอบหลักเช่นกัน ... ซึ่งเป็นสิ่งที่ไม่พึงประสงค์สำหรับปัญหา …
258 xpath  dom4j 

9
มีวิธีรับองค์ประกอบโดย XPath โดยใช้ JavaScript ใน Selenium WebDriver หรือไม่
ฉันกำลังมองหาบางสิ่งที่ชอบ: getElementByXpath(//html[1]/body[1]/div[1]).innerHTML ฉันต้องการรับองค์ประกอบ HTML ภายในโดยใช้ JS (เพื่อใช้ใน Selenium WebDriver / Java เนื่องจาก WebDriver ไม่สามารถค้นหาได้เอง) แต่ทำได้อย่างไร ฉันสามารถใช้แอตทริบิวต์ ID แต่องค์ประกอบบางอย่างไม่มีแอตทริบิวต์ ID [แก้ไขแล้ว] ฉันใช้ jsoup เพื่อให้เสร็จใน Java ที่เหมาะกับความต้องการของฉัน

12
วิธีใช้ Xpath ใน Python
ไลบรารีใดบ้างที่รองรับ Xpath มีการนำไปใช้อย่างเต็มรูปแบบหรือไม่? มีการใช้ห้องสมุดอย่างไร เว็บไซต์อยู่ที่ไหน
224 python  xml  dom  xpath  nodes 

2
XPath: วิธีการเลือกองค์ประกอบตามมูลค่าของพวกเขา?
ฉันยังใหม่กับการใช้ XPath และนี่อาจเป็นคำถามพื้นฐาน กรุณาอดทนกับฉันและช่วยฉันในการแก้ไขปัญหา ฉันมีไฟล์ XML เช่นนี้: <RootNode> <FirstChild> <Element attribute1="abc" attribute2="xyz">Data</Element> <FirstChild> </RootNode> ฉันสามารถตรวจสอบการมี<Element>แท็กด้วย: // Element [@ attribute1 = "abc" และ @ attribute2 = "xyz"] ตอนนี้ฉันต้องการตรวจสอบค่าของแท็กสำหรับสตริง"Data"ด้วย เพื่อให้บรรลุสิ่งนี้ฉันถูกบอกให้ใช้: // Element [@ attribute1 = "abc" และ @ attribute2 = "xyz" และ Data] เมื่อฉันใช้นิพจน์ในภายหลังฉันได้รับข้อผิดพลาดต่อไปนี้: ข้อความยืนยันความล้มเหลว: ไม่มีการจับคู่โหนด //Element[@attribute1="abc" and @attribute2="xyz" and Data] กรุณาให้คำแนะนำของคุณกับฉันว่านิพจน์ …
221 xpath 

15
มีเทียบเท่า JSON ของ XQuery / XPath?
เมื่อค้นหารายการในอาร์เรย์และแฮชที่ซับซ้อนของ JSON เช่น: [ { "id": 1, "name": "One", "objects": [ { "id": 1, "name": "Response 1", "objects": [ // etc. }] } ] มีภาษาสืบค้นบางประเภทที่ฉันสามารถใช้ค้นหารายการได้in [0].objects where id = 3หรือไม่
221 javascript  json  xpath  xquery 

1
XPath เพื่อเลือกองค์ประกอบตามค่า childs child
พยายามที่จะเลือกองค์ประกอบตามมูลค่าหนึ่งในเด็กที่เป็นเด็ก คิดต่อไปนี้ แต่ไม่ทำงานขอบคุณความช่วยเหลือใด ๆ ขอบคุณ ./book[/author/name = 'John'] หรือ ./book[/author/name text() = 'John'] ต้องการหนังสือทุกเล่มที่ชื่อผู้แต่ง = 'จอห์น' ไฟล์ Xml <list> <book> <author> <name>John</name> <number>4324234</number> </author> <title>New Book</title> <isbn>dsdaassda</isbn> </book> <book>...</book> <book>...</book> </list>
208 xml  xpath 

6
xpath ค้นหาว่ามีโหนดอยู่หรือไม่
การใช้เคียวรี xpath คุณจะค้นหาว่ามีโหนด (แท็ก) อยู่หรือไม่ ตัวอย่างเช่นหากฉันต้องการตรวจสอบให้แน่ใจว่าหน้าเว็บไซต์มีโครงสร้างพื้นฐานที่ถูกต้องเช่น / html / body และ / html / head / title
201 xslt  xpath  expression 

3
XPath เพื่อเลือกองค์ประกอบตามค่าแอตทริบิวต์
ฉันมี XML ต่อไปนี้ <?xml version="1.0" encoding="UTF-8"?> <Employees> <Employee id="3"> <age>40</age> <name>Tom</name> <gender>Male</gender> <role>Manager</role> </Employee> <Employee id="4"> <age>25</age> <name>Meghna</name> <gender>Female</gender> <role>Manager</role> </Employee> </Employees> ฉันต้องการเลือกองค์ประกอบพนักงานที่มี id = "4" ฉันใช้นิพจน์ XPath ด้านล่างซึ่งไม่ได้ส่งคืนอะไร //Employee/[@id='4']/text() ฉันตรวจสอบแล้วที่http://chris.photobooks.com/xml/default.htmและมันบอกว่า xpath ไม่ถูกต้องไม่แน่ใจว่าปัญหาอยู่ที่ไหน
195 xml  xpath 

16
วิธีการใช้งาน XPath one-liners จาก shell?
มีแพ็คเกจออกมาสำหรับ Ubuntu และ / หรือ CentOS ที่มีเครื่องมือบรรทัดคำสั่งที่สามารถใช้ XPath แบบหนึ่งบรรทัดเหมือนfoo //element@attribute filename.xmlหรือfoo //element@attribute < filename.xmlและส่งคืนผลลัพธ์ทีละบรรทัดได้หรือไม่ ฉันกำลังมองหาบางสิ่งบางอย่างที่จะทำให้ฉันเป็นapt-get install fooหรือแค่yum install fooนั้นก็ทำงานนอกกรอบไม่มีการห่อหุ้มหรือการดัดแปลงอื่น ๆ ที่จำเป็น นี่คือตัวอย่างของสิ่งที่เข้ามาใกล้: Nokogiri ถ้าฉันเขียน wrapper นี้ฉันสามารถเรียก wrapper ตามวิธีที่อธิบายไว้ข้างต้น: #!/usr/bin/ruby require 'nokogiri' Nokogiri::XML(STDIN).xpath(ARGV[0]).each do |row| puts row end XML :: XPath จะทำงานกับ wrapper นี้: #!/usr/bin/perl use strict; use warnings; use XML::XPath; …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.