
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.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を探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CPUの考え方を教えてください ...
-
PHPを使ったDOMの操作で兄弟ノ...
-
ルート要素ノードが2個ある場合?
-
C言語のプログラムを教えてくだ...
-
VB6.0でDOMを使用して...
-
SNMP リンクダウンとノードダ...
-
複数のマックPCによる数値計算...
-
vbsのDOMDocumentで要素のText...
-
ツリーでのアイコンの設定
-
XML::LibXMLのfindnodes()で、...
-
昔Winnyってありましたけど、あ...
-
TreeViewコントロールについて
-
複数のxmlファイルの合体
-
xmlから吐き出したhtmlデータの...
-
html→xmlの変換
-
質問
-
xalanが利用できません。
-
DTDファイルをクラスパスから読...
-
DOSコマンドラインからxmlファ...
-
XSLスタイルシートについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CPUの考え方を教えてください ...
-
ルート要素ノードが2個ある場合?
-
SNMP リンクダウンとノードダ...
-
あるノードリストに、特定の名...
-
同じタグ名の項目取得
-
C#でTreeViewのCheckBoxのサイ...
-
TreeView の初期表示について
-
昔Winnyってありましたけど、あ...
-
ノードとは
-
複数のマックPCによる数値計算...
-
C# TreeView 効率良いノード追...
-
TreeViewで複数ノードの選択は...
-
vbsのDOMDocumentで要素のText...
-
ツリービューのノードをダブル...
-
TreeViewに重複する値をセット
-
ToolStripMenuItemの選択(VB)
-
各ノードの行数取得
-
VB2005 TreeViewの任意ノード選択
-
TreeViewのノードの編集結果が...
-
TreeVIewのノード名を編集する...
おすすめ情報