問題タブ [xml-libxml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3792 参照

perl - Perl、LibXML、およびスキーマ

スキーマに対してファイルをロードして検証しようとしているPerlスクリプトの例があります。それらはさまざまなノードに問い合わせます。

残念ながら、XML ファイルは正常に検証されていますが、$book アイテムが見つからないため、何も出力されません。

XML ファイルからスキーマを削除し、PL ファイルから検証を削除すると、問題なく動作します。

デフォルトの名前空間を使用しています。デフォルトの名前空間 (xmlns:lib="http://libs.domain.com") を使用しないように変更し、XML ファイル内のすべての項目の前に lib を付け、XPath 式を変更して名前空間のプレフィックス (/lib: library/lib:book) その後、再びファイルを動作させます。

なんで?そして私は何が欠けていますか?

XML:

XSD:

0 投票する
3 に答える
2974 参照

xml - XML::LibXML を使用して、SAX を使用して XML を解析するにはどうすればよいですか?

私がこれまでに見つけた唯一のサンプル コードは、古すぎてもう機能しません (廃止されたクラスを使用しています)。必要なのは、次のことを示す基本的なものだけです。

  1. ファイルからの XML の読み込みと解析

  2. SAX イベント ハンドラの定義

  3. イベント ハンドラーに渡された要素の属性またはテキスト値の読み取り

0 投票する
4 に答える
3869 参照

windows - Windows に XML::LibXML モジュールをインストールできません

XPathいくつかの HTML タグとデータを抽出するために使用しようとしています。そのためには、XML::LibXMLモジュールを使用する必要があります。

CPAN シェルからインストールしようとしましたが、インストールされません。

インストールに関する CPAN サイトの指示に従いました。インストールする前libxml2iconvzlibラッパーをインストールする必要がありますが、XML::LibXMLうまくいきませんでした。

また、私の仕事を成し遂げるもっと簡単なモジュールが他にあれば、私に知らせてください。

当面のタスク:

<dd>本当に大きい (約 5000 ~ 10000)<dd>とタグの html ページで特定のタグを検索してい<dt>ます。<dd>そのため、タグ内のコンテンツに一致し、対応する (次の)タグ内のコンテンツを取得するスクリプトを作成しています<dt>

もう少しはっきりしていればよかったのに。どんな助けでも大歓迎です。

0 投票する
5 に答える
25522 参照

perl - ActivePerl 用の XML::LibXML をインストールするにはどうすればよいですか?

私は Perl が初めてで、ActivePerlを使用しています。次のエラーが表示されます。

@INC で XML/LibXML.pm が見つかりません...

すべてを試しましたが、XML::LibXML の「正しい」モジュールをインストールする手順が見つかりません。

これがまさに何が起こっているかです。コマンド プロンプトからスクリプトを実行しています。

c:\temp>perl myscript.pl

myscript.pl の最初の数行:

次に、次のエラーが表示されます。

c:\temp>perl myscript.pl myscript.pl 行 7 の @INC に XML/LibXML.pm が見つかりません (@INC には C:/Perl/site/lib C:/Perl/lib が含まれます)。失敗 -- myscript.pl 行 7 でコンパイルが中止されました

0 投票する
1 に答える
14460 参照

perl - PerlのXML::LibXMLから属性と要素にアクセスするにはどうすればよいですか?

PerlのXML::LibXMLパッケージで名前空間を理解/使用するのに問題があります。要素には正常にアクセスできますが、属性にはアクセスできません。XMLファイル( http://pastebin.com/f3fb9d1d0 )にアクセスする次のコードがあります。

次に、common-nameという要素とnameという属性にアクセスしてみます。

ただし、ラテン語の名前(@name)のみが出力され、一般名は出力されません。何が間違っているのでしょうか。また、一般名を印刷するにはどうすればよいですか。

この場合、@ nameは何をしますか?私はそれが配列であり、属性は複数存在する可能性があるため配列に入れる必要があると思いますが、要素(共通名など)は1つだけである必要があるため、そうすべきではありませんか?

私はここの例に従ってきました: http: //www.xml.com/pub/a/2001/11/14/xml-libxml.html そしてここ:http://perl-xml.sourceforge.net/faq /#namespaces_xpath、そして彼らのサンプルのラクダスクリプトを私の名前空間で動作させようとしているので、奇妙な名前空間です。

0 投票する
2 に答える
934 参照

perl - XML::LibXML の XPath を使用して XML ファイル内の要素にアクセスできないのはなぜですか?

XML ファイルがあり、その一部は次のようになります。

Perl の libXML を使用してファイルを解析し、次を使用して wellName と rawData を出力しようとしています。

現在何も出力されていません。Xpath ステートメントに問題があると思います。修正を手伝ってもらえますか、それとも xpath ステートメントのトラブルシューティング方法を教えてもらえますか? ありがとう。

0 投票する
2 に答える
498 参照

html - XML::LibXML::Reader は HTML を読みますか?

XML::LibXML::Readerのドキュメントで、HTML の解析については何も見つかりませんでした。そして、HTML サイトを解析しようとしましたが、うまくいきませんでした。XML::LibXML::Reader は HTML では動作しないという私の結論は正しいですか?

0 投票する
1 に答える
798 参照

perl - Perl の XML::LibXML モジュール (特に XPathContext) が位置を評価しないのはなぜですか?

次の形式のドキュメントの XML 表現があります。

XML::LibXML を使用してドキュメントを解析し、文の位置を取得しようとしています。

私が得るエラーは「XPathエラー:無効なコンテキスト位置エラー」です。私はドキュメントを読んで、この興味深い一口を見つけました

初期コンテキストで XPath 関数 position() を評価すると、XPath エラーが発生します

私の問題は、この情報をどう処理すればよいかわからないことです。「初期コンテキスト」とは何ですか? エンジンがコンテキストの位置を自動的に追跡するようにするにはどうすればよいですか?


Re: @ダン

答えに感謝します。あなたの例を試してみましたが、うまくいきました。私のコードでは、コンテキストが perl 変数によって表されるノードであると想定していました。だから、 $sentence->find( 'position()' ) './position()' になりたかった。実際の例を見たにもかかわらず、私はまだできません

しかし、私はすることができます

position() は、あなたのようなクエリを制限するためにのみ使用できますか?

0 投票する
2 に答える
2757 参照

xml - XML::LibXML 行末 (空白) の問題

こんにちは、Perl で LibXML を使用して XML ファイルを解析しています。私が抱えている問題は、末尾の文字 (空白) がテキスト ノードとして扱われることです。たとえば、次のような入力が与えられた場合

パーサーは、ノード「books」の子の数が 3 であると考えています。

  • <books>テキスト ノード (との間の文字を含む<book>)
  • の要素ノード<book>
  • </book>テキスト ノード (との間の文字を含む</books>)

質問は、空白を無視するように LibXML に指示するにはどうすればよいですか? no_blanks (つまり、パーサーを構築するときに $parser = XML::LibXML->new(no_blanks => 1) ) を試しましたが、効果がないようです。

前もって感謝します

0 投票する
2 に答える
377 参照

perl - XML::LibXML: 検索で数値/ブールオブジェクトを取得する方法は?

http://metacpan.org/pod/XML::LibXML::Nodeから:

find は、現在のノードを式のコンテキストとして使用して XPath 1.0 式を評価し、XPath 式の結果のタイプに応じて結果を返します。たとえば、XPath "1 * 3 + 52" では、XML::LibXML::Number オブジェクトが返されます。他の式は、XML::LibXML::Boolean オブジェクト、または XML::LibXML::Literal オブジェクト (文字列) を返す場合があります。

私の例では、find は XML::LibXML::Literal オブジェクト (文字列) を返すと思います。find が XML::LibXML::Number オブジェクトを返す例を教えてください。XML::LibXML::Boolean オブジェクト?

出力

消去