XML::LibXMLでXPathを使いたいのですが、
ワイルドカードの指定がうまくいきません。
要素名に*を当てはめたいのですが、、、、
例えば以下の通りです。
下記XMLのid="1-1"とid="1-2"を抜きだしたいのです。
できればXPathにて指定したいのですが、、、
教えてください。
my $dom = $parser->parse_file($xml_file_str) or die;
$x = "//Test/TestText[@id="1-*"]/text()";
$c = $dom->findnodes($x);
解析対象XML
<XML>
<Test>
<TestText id="1-1">テスト1</TestText>
<TestText id="1-2">テスト2</TestText>
<TestText id="2-1">テスト3</TestText>
</Test>
</XML>
No.2
- 回答日時:
>XPath自体に変更を加えずに
XPath自体には、正規表現は使えなかったと思います。
いったんセレクトしたノードリストをPerl のgrep で処理することはできると思いますけど。
No.1ベストアンサー
- 回答日時:
LibXMLを使っていないので間違っていたらすみません。
XPathでは、
~の文字列で始まるというのは、
starts-with( ) 関数を使います
id が '1-' で始めるノードは
//TestText[starts-with(@id,'1-')]
のように指定できます。
あと、蛇足ですが、
XML は予約語なので、XMLを要素名として使うことは規約違反です。
ありがとうございます。
参考になりました。
ただ、XPath自体に変更を加えずに
//Test/TestText[@id="1-*"]/text()
を何とか処理したいのです。
XPath文が既にあり、それを使ってXMLを読みたい
のです。
やはり、XML::LibXMLでは無理でしょうか、、、
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- WordPress(ワードプレス) ワードプレスにて .xmlファイルの使い方をご存知の方、よろしくお願いいたします。 2 2022/09/30 00:55
- AJAX 自作の地図をグーグルマップのようにしたい 3 2022/11/15 11:53
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
- HTML・CSS 疑似要素で背景画像に指定したSVG画像の色変更 2 2023/01/30 22:45
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- HTML・CSS ホームページのHTMLサイトマップを自動作成する方法を探しています。 1 2023/05/17 21:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
昔Winnyってありましたけど、あ...
-
CPUの考え方を教えてください ...
-
SNMP リンクダウンとノードダ...
-
C#初心者です。HtmlAgilityPack...
-
木のなぞり順をかえるプログラ...
-
グラフ色塗り問題のプログラミ...
-
ツリービューのノードをダブル...
-
2分探索木の高さを求めるプロ...
-
2分木と双方向線形リストを同時...
-
同じタグ名の項目取得
-
東芝のDynabookなのですがアン...
-
タグの有無の判定
-
Dreamweaver CS3 : シングルク...
-
XML、XSLTの適応エラー(IEから...
-
XMLで要素が記述された順番に意...
-
重複するものを消したい
-
XMLのスタイルシートで単独タグ...
-
xsl:param要素をxsl:templateの...
-
xml→htmlへの変換&ページ分割...
-
C#で使用中のファイルに別のフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CPUの考え方を教えてください ...
-
昔Winnyってありましたけど、あ...
-
SNMP リンクダウンとノードダ...
-
ルート要素ノードが2個ある場合?
-
同じタグ名の項目取得
-
あるノードリストに、特定の名...
-
ノードとは
-
TreeView の初期表示について
-
ツリービューのノードをダブル...
-
ノード数とは?
-
コンテキストメニュークリック...
-
XML文書の指定した属性値を持つ...
-
C#でtreeviewの指定ノードを選...
-
複数のマックPCによる数値計算...
-
VB6.0ツリービューについて
-
TreeViewの再表示のちらつきを...
-
VB6.0でDOMを使用して...
-
vbsのDOMDocumentで要素のText...
-
TreeViewで複数ノードの選択は...
-
C# TreeView 効率良いノード追...
おすすめ情報