問題タブ [xmlreader]
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.
php - PHP XMLReader を使用した XML の解析
$_POST 変数から XML を読み取り、PHP XMLReader を使用して解析し、抽出されたデータをデータベースに入力するプログラムを作成しています。提供される XML は大きすぎてメモリに配置できない可能性が高いため、XMLReader を使用しています。
ただし、いくつかの問題があります。XML と基本的なコードは次のとおりです。
'<?xml version="1.0"?>
<data_root>
<data>
<info>value</info>
</data>
<action>value</action>
</data_root>'
私の問題は、渡される XML に行がない場合、コードが完全に機能することですが<?xml version="1.0"?>
、それを含めると、アプリケーションが実際の運用環境に入ったときに含まれ$reader->read()
、while ループのコードが機能しません。 XML は while ループ内で解析されません。
以前に同様の動作を見たことがありますか、またはなぜこれが起こっているのか知っていますか?
前もって感謝します。
php - PHP の XMLReader を使用して、現在のノードの行番号を取得するにはどうすればよいですか?
PHP 5.3 で XMLReader XML パーサーを使用して、現在のノードの行番号を取得する必要があります。ファイルの先頭からの列番号または合計オフセットもいいでしょう。
うまくいけば、改行のすべての生のノード文字列を解析するようなハックを使用する必要はありませんが (を使用)、 DOM のようなプロパティreadOuterXML()
は表示されません...getLineNo()
.net - .NET: XmlReaderSettings の ProhibitDtd プロパティの目的は何ですか? DTD がセキュリティ上の問題になるのはなぜですか?
ドキュメントには次のように記載されています。
true に設定すると、DTD コンテンツが検出されると、XmlReader は XmlException をスローします。サービス拒否の問題が懸念される場合、または信頼できないソースを扱っている場合は、DTD 処理を有効にしないでください。
DTD 処理を有効にしている場合は、XmlSecureResolver を使用して、XmlReader がアクセスできるリソースを制限できます。XML 処理がメモリと時間の制約を受けるようにアプリケーションを設計することもできます。たとえば、ASP.NET アプリケーションでタイムアウト制限を構成します。
誰かが問題を説明してもらえますか?
リーダー アプリケーションが DTD の取得を禁止する必要があるのはなぜですか? 読み取りアプリケーションの場合、サービス拒否の問題はどこにありますか? 言及されている「信頼」の問題は何ですか?
ありがとう
php - XMLReaderを使用して要素にジャンプする高速な方法はありますか?
XMLReaderを使用して、読み取り元のレベルで約100万個の要素を含む大きなXMLファイルを読み取ります。XMLReader::next ([ string $localname ] )
ただし、またはを使用して要素500.000にジャンプすると、10秒以上かかると計算しました。XMLReader::read ( void )
これはあまり使い勝手が良くありません。これを行うためのより速い方法はありますか?
php - XMLReader expand() の問題 -- 警告が生成されます: DOM サポートが有効になっていません
XMLReader は初めてで、PHP の初心者です。XMLReader を使用して XML ファイルを解析する方法を理解しようとしています。特に、非常に大きな XML ファイルの特定のノードを取得して、必要なノードのサブセットだけで小さなファイルを書き直そうとしています。そのため、XMLReader は、想定される速度で魅力的に見えました$reader->expand()
。
XMLReader を使用してテスト xml ファイルから情報を出力することはできますが、$reader->expand()
. 「警告: DOM サポートが有効になっていません」というメッセージが表示されます。ただし、phpinfo() を確認すると、ホスティング サービスで有効になっていることがわかります。また、XML ファイルをチェックして、有効であることを確認しました。これを機能させるために使用したテストコードを次に示します。
どんな考え、リード、アドバイスも大歓迎です!
.net - パフォーマンス: XmlReader または LINQ to XML
プロジェクトで DB として使用される 150 MB の XML ファイルがあります。現在、私はXmlReader
そこからコンテンツを読み取るために使用しています。XmlReader
このシナリオでは、LINQ to XML を使用する方がよいのか、LINQ to XMLを使用する方がよいのかを知りたいです。
この XML 内のアイテムを検索して検索結果を表示しているため、長い時間またはほんの一瞬かかる場合があることに注意してください。
c# - XMLReader による解析の問題 (ReadSubTree を使用)
CF アプリケーションで単純な XML to Controls パーサーを構築しようとしています。以下のコードでは、解析しようとしている文字列は次のようになります。
このコードで必要な結果は、2 つのラベルを持つパネルになります。しかし問題は、最初の Label が解析されたときに subreader.Read() が ParsePanelElementh メソッドで false を返すため、while ステートメントから外れることです。私は XMLReader に慣れていないので、非常に単純なものが欠けているに違いありません。どんな助けでも大歓迎です!
平和。
c# - SilverlightのXMLReaderタイプタグの問題
こんにちは私はSilverlightでXMLを解析しています、私のXMLには1つのタグがあります
私はXMLReaderを使用してxmlを次のように解析しています
しかし、問題は、テストタグの場合、EndElementが受信されないことです。これが私のプログラムロジック全体を間違ったものにしている。(test1タグの場合はすべて正常に機能します)。私を助けてください。
c# - 特定の場所に新しい要素を挿入してxmlファイルをコピーする-C#
こんにちは私はxmlファイルをコピーして、特定の要素の場所にさらにいくつかの要素を挿入したいと思います。これを行うための最良かつ最も簡単な方法は何ですか。xmlReaderの読み取り要素を使用して、すべてのタイプを参照して1つずつ書き込むことができます。これにはいくつかの問題がありましたが、これに加えて、どういうわけかうまくできるあまりにも多くの作業があります。以下の例では、デフォルトの定義としてxmlがあり、sheet1に新しい値を挿入して同じ形式で新しいxmlを作成する必要がありますが、既存の行の後に、sheet2に対して同じことを行います。