タグ付けされた質問 「xpath」

XPathの主な目的は、XMLドキュメントの一部に対処することです。また、文字列、数値、ブール値を操作するための基本的な機能も提供します。XPathはコンパクトな非XML構文を使用します。XPathは、表面の構文ではなく、XMLドキュメントの抽象的な論理構造で動作します。


2
XPathのインデックスが0ではなく1で始まるのはなぜですか?
一部の同僚と私は、プログラミングした過去の言語を比較し、他のほとんどすべての言語のように0 ベースのインデックスではなく1ベースのインデックスなどの奇妙な機能を備えたVBScriptの経験について話していました。開発者向けの言語ではなく、ユーザー向けの言語(Excel VBAなど)。 次に、「XPathにも1ベースのインデックスがある」と誰かが言った。マイケルケイ自身からのいくつかを含む0ベースのアプローチを支持する多くの理由があるこの記事を見つけるまで、私は信じられなかった。 「...ゼロベースのインデックス付けは、1次元配列アクセス式で多次元配列にアクセスするときに、インデックス式をより単純にする傾向があります。」 「テーブルを処理するとき、または文字列に添え字を付けるとき、ゼロベースのアドレッシングは多くの場合はるかに便利です。」 「...ハードウェアアドレッシングは0ベースのアドレッシングの唯一の利点ではありません...それはまた計算をより簡単にします...」 しかしその後、マイケル・ケイは結論として引用されています: ... 1ベースのロジックはXPathとXSLTの正しい選択でした...言語はプログラマー向けではなくユーザー向けに設計されており、ユーザーは本の最初の章を「章」と呼ぶという昔ながらの習慣を持っています1... 誰かが私にそれを説明できますか? (1)XPathはユーザー向けにどのように設計されていますか?XPathの構文の厳格さ、またはXSLTの宣言的/機能的プログラミングの側面に取り組んでいる開発者ではない人を想像することはできません。そして、(2)は、なぜ本当にのXPathの作成者は、1ベースのインデックスを選択することで、近代的なプログラミング言語の規範に反するましたか?
117 xslt  xpath  indexing 

5
子ノードに属性が含まれているノードを取得する
次のXMLがあるとします。 <book category="CLASSICS"> <title lang="it">Purgatorio</title> <author>Dante Alighieri</author> <year>1308</year> <price>30.00</price> </book> <book category="CLASSICS"> <title lang="it">Inferno</title> <author>Dante Alighieri</author> <year>1308</year> <price>30.00</price> </book> <book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> </book> <book …
116 xml  xpath 

7
Seleniumで既知の要素の親要素を選択します
Selenium 1で選択できる特定の要素があります。 残念ながら、目的の動作を得るには、親要素をクリックする必要があります。私が簡単に見つけることができる要素は、属性を選択できないため、クリックできない。XPathで上方向に移動するにはどうすればよいですか?
116 select  xpath  selenium  parent 

9
SQL Server 2008のXMLフィールドから値を選択する
XMLフィールドを見るだけで、行は次のようになります。 <person><firstName>Jon</firstName><lastName>Johnson</lastName></person> <person><firstName>Kathy</firstName><lastName>Carter</lastName></person> <person><firstName>Bob</firstName><lastName>Burns</lastName></person> これらは私のテーブルの3つの行であることに注意してください。 次のようにSQL結果をテーブルとして返したい Jon | Johnson Kathy| Carter Bob | Burns これを実行するクエリは何ですか?
112 sql-server  xml  xpath 

5
XPathで名前空間を無視する方法
私の目標は、XPathを使用して、複数の名前空間を持つ複数のxmlファイルから特定のノードを抽出することです。名前空間URIがわかっている限り、すべてが正常に機能します。ネームスペース名自体は一定のままですが、スキーマ(XSD)はクライアントによって生成される場合があります。つまり、私には不明です。それから私は基本的に3つの選択肢が残っています: 名前空間にスキーマを1つだけ使用して、問題が起こらないことを期待します(確認できますか?) ドキュメントの子ノードを取得し、名前空間URIを持つ最初のノードを探してそこにあることを期待し、URIを使用して正しいものを期待します。複数の理由で失敗する可能性があります どういうわけかxpathに伝えます:「見て、私は名前空間を気にしません。この名前のすべてのノードを見つけてください。URIではなく名前空間の名前を伝えることさえできます」。そして、これはここでの質問です... これは、ここまたはここにある「名前空間の認識に気付いていないため、xpath式が機能しない」という質問の繰り返しではありません。名前空間認識の使用方法を知っています。それを取り除く方法ではありません。

3
XPathをXDocumentで使用する方法
同様の質問がありますが、私の場合、解決策がうまくいかなかったようです:XDocument、XPath、および名前空間の奇妙さ これが私が作業しているXMLです: <?xml version="1.0" encoding="utf-8"?> <Report Id="ID1" Type="Demo Report" Created="2011-01-01T01:01:01+11:00" Culture="en" xmlns="http://demo.com/2011/demo-schema"> <ReportInfo> <Name>Demo Report</Name> <CreatedBy>Unit Test</CreatedBy> </ReportInfo> </Report> そして以下は私がそれが機能するはずであると思ったがそれが機能しなかったコードです... XDocument xdoc = XDocument.Load(@"C:\SampleXML.xml"); XmlNamespaceManager xnm = new XmlNamespaceManager(new NameTable()); xnm.AddNamespace(String.Empty, "http://demo.com/2011/demo-schema"); Console.WriteLine(xdoc.XPathSelectElement("/Report/ReportInfo/Name", xnm) == null); 誰かアイデアはありますか?ありがとう。
109 c#  .net  xml  xpath  linq-to-xml 

1
パンダのread_xml()メソッドのテスト戦略
現在、pandas I / Oツールはread_xml()メソッドと対応するものを維持していませんto_xml()。ただし、read_jsonツリーのような構造をデータフレームのインポートとread_htmlマークアップ形式に実装できることを証明しています。 パンダのチームは、このような考慮しなければread_xmlバージョンパンダの将来のための方法を、どのような実装彼らが追求するでしょう:ビルトインで解析するxml.etree.ElementTreeのでiterfind()かiterparse()、機能やサードパーティのモジュールlxmlのXPath 1.0のとXSLT 1.0の方法で? 以下は、単純でフラットな要素中心のXML入力での4つのメソッドタイプのテスト実行です。すべては、ルートの第2レベルの子の一般化された解析用に設定されており、各メソッドはまったく同じパンダデータフレームを生成する必要があります。pd.Dataframe()辞書のリストの最後の呼び出しを除くすべて。XSLTメソッドは、XMLをCSVに変換してでキャストStringIO()しpd.read_csv()ます。 質問 (マルチパート) パフォーマンス:iterparseファイルが繰り返し解析されるときに、サイズの大きいファイルにしばしば推奨される遅い方法をどのように説明しますか?if論理チェックが原因の一部ですか? メモリ:CPUメモリはI / O呼び出しのタイミングと相関関係がありますか?XSLTおよびXPath 1.0は、ファイル全体を解析するためにメモリ内で読み取る必要があるため、大きなXMLドキュメントではうまく拡張できない傾向があります。 戦略:辞書のリストはDataframe()通話に最適な戦略ですか?これらの興味深い答えを見てください:ジェネレーターのバージョンとiterwalkのユーザー定義バージョン。両方のリストをデータフレームにアップキャストします。 入力データ(私たちのパンダの友達が含まれる年別のStack Overflowの現在のトップユーザー) <?xml version="1.0" encoding="utf-8"?> <stackoverflow> <topusers> <user>Gordon Linoff</user> <link>http://www.stackoverflow.com//users/1144035/gordon-linoff</link> <location>New York, United States</location> <year_rep>5,985</year_rep> <total_rep>499,408</total_rep> <tag1>sql</tag1> <tag2>sql-server</tag2> <tag3>mysql</tag3> </topusers> <topusers> <user>Günter Zöchbauer</user> <link>http://www.stackoverflow.com//users/217408/g%c3%bcnter-z%c3%b6chbauer</link> <location>Linz, Austria</location> <year_rep>5,835</year_rep> <total_rep>154,439</total_rep> <tag1>angular2</tag1> <tag2>typescript</tag2> <tag3>javascript</tag3> </topusers> <topusers> <user>jezrael</user> …
109 python  xml  pandas  xslt  xpath 

2
XPath-値と等しい要素の選択
Xpathで、特定の値に等しい要素を選択したいと思います。 サンプルXMLデータ: <aaa id="11" > <aaa id="21" > <aaa id="31" ></aaa> <bbb id="32" > <aaa id="41" ></aaa> <bbb id="42" ></bbb> <ccc id="43" ></ccc> <ddd id="44" >qwerty</ddd> <ddd id="45" ></ddd> <ddd id="46" ></ddd> </bbb> </aaa> <bbb id="22" > <aaa id="33" >qwerty</aaa> <bbb id="34" ></bbb> <ccc id="35" ></ccc> <ddd id="36" ></ddd> <ddd …
109 xpath 

9
BeautifulPathでxpathを使用できますか?
BeautifulSoupを使用してURLをスクレイピングしており、次のコードがありました import urllib import urllib2 from BeautifulSoup import BeautifulSoup url = "http://www.example.com/servlet/av/ResultTemplate=AVResult.html" req = urllib2.Request(url) response = urllib2.urlopen(req) the_page = response.read() soup = BeautifulSoup(the_page) soup.findAll('td',attrs={'class':'empformbody'}) 上記のコードではfindAll、タグとそれに関連する情報を取得するために使用できますが、xpathを使用したいと思います。BeautifulSoupでxpathを使用することは可能ですか?可能であれば、より役立つように、コードの例を誰かに教えてもらえますか?

3
XPath:属性が存在するかどうかを確認する方法は?
次のXMLを前提として、属性fooが存在するノードをプルするXPathクエリをどのように記述しますか? <node1> <node2> <node3 foo='bar'></node3> <node3></node3> <node3 bar='foo'></node3> <node3 foo='foobar'></node3> </node2> </node1>
104 xml  xpath 

2
xpathを使用して次の兄弟/ XMLタグを選択する方法
(Neweggからの)HTMLファイルがあり、そのHTMLは以下のように構成されています。仕様表のすべてのデータは「desc」であり、各セクションのタイトルは「名前」です。'以下は、Neweggページのデータの2つの例です。 <tr> <td class="name">Brand</td> <td class="desc">Intel</td> </tr> <tr> <td class="name">Series</td> <td class="desc">Core i5</td> </tr> <tr> <td class="name">Cores</td> <td class="desc">4</td> </tr> <tr> <td class="name">Socket</td> <td class="desc">LGA 1156</td> <tr> <td class="name">Brand</td> <td class="desc">AMD</td> </tr> <tr> <td class="name">Series</td> <td class="desc">Phenom II X4</td> </tr> <tr> <td class="name">Cores</td> <td class="desc">4</td> </tr> <tr> <td class="name">Socket</td> <td …
102 xml  xpath  lxml 

5
XSLT name-of要素はありますか?
XSLTには <xsl:value-of select="expression"/> 要素の値を取得しますが、要素のタグ名を選択する何かがありますか? このような状況では: <person> <!-- required stuff --> <name>Robert</name> <!-- optional stuff, free form for future extension. Using XMLSchema's xsd:any --> <profession>programmer</profession> <hobby>photography</hobby> </person> <xsl:for-each select="person"> <xsl:tag-of select="."/> : <xsl:value-of select="."/> </xsl:for-each> このような出力を得るには: name : Robert profession : programmer hobby : photography もちろん、上記のXSLTはコンパイルされません。 <xsl:tag-of select="expression"/> 存在しません。しかし、これはどのように行うことができますか?
101 xml  xslt  xpath 

4
XPathを使用して深度の子要素を選択するにはどうすればよいですか?
私がこれを持っているとしましょう(簡略化されています): <form id="myform"> <!-- some input fields --> <input type="submit" value="proceed"/> </form> 次に、XPathで送信ボタンを選択します//form[@id='myform']/input[@type='submit']。すごい。 ただし、テンプレートが変更される可能性があり、送信ボタンが配置されている深さで柔軟にしたいと考えています。次のように、テーブルに入れることができます。 <form id="myform"> <!-- some input fields --> <table><tr><td> <input type="submit" value="proceed"/> </td></tr></table> </form> 孫である要素を選択できることは知っていますが、どの深さのgrand-grand-grand -...- childerenも選択できません。例えば: //form[@id='myform']/*/input[@type='submit'] 孫だけを選択し、それ以上の深さは選択しません。 //form[@id='myform']/*/*/input[@type='submit'] 孫孫のみを選択し、それ以上またはそれ以下の深さは選択しません。 //form[@id='myform']/**/input[@type='submit'] 有効ではない。 では、要素IDを使用せずにこの送信ボタンを確実に選択するにはどうすればよいですか?
101 xpath 

3
XPath:属性のないノードを選択する方法は?
XPathを使用して、属性のないノード(属性カウント= 0)を選択する方法は? 例えば: <nodes> <node attribute1="aaaa"></node> <node attribute1="bbbb"></node> <node></node> <- FIND THIS </nodes>
94 xpath 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.