問題タブ [nativexml]
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.
xml - Delphi - NativeXml で正規の XML を作成できますか?
プログラムのデータから xml を作成するために、何年も NativeXml を使用してきました。これは非常にうまく機能しましたが、今は問題が発生しています。
ここで、xml の標準形式から作成された xml にハッシュを挿入する必要があります。見てみたところ、Native Xmlには「Canonicalize」機能がありますが、適切に使用していない(可能性が高い)か、(実験的とラベル付けされているため)必要なことを実行していません。
私はこのように使用しています(私が見つけた唯一の例で示唆されているように)
xml を問題なくテスト サービスに送信してきたので、すべて問題ないと思いました。受信者は、xml 送信とハッシュ コードを受け入れていました。Canonicalize は xml の開始タグ<?xml version="1.0"?>
を取り除きますが、とにかく xml はかなり適切に形成されており、その形式をxfReadable
に設定していないため、大きな違いは見つかりませんでした。
今、私は問題に遭遇しました。あるデータは、すべてが正常に機能していないことを示しています。
たとえば、O'Reilly など、データにアポストロフィを含む名前がある場合、xml では次のように (正しく) 書き込まれます。
いつ正規化されたかを知る限り、これは次のように表示されるはずです
これは発生していないため、ハッシュが一致しないため、受信者は私の xml 送信を拒否しています。
過去 2 日間、NativeXml のコードとドキュメント、およびオンラインを調べましたが、答えが見つかりません。悲しいことに、NativeXml フォーラムにも活気がないようです。
NativeXml でやるべきことはありますか? NativeXml ではない場合、他に何か機能がありますか? XMLを適切に正規化するためにxmlを渡すことができるものはありますか?
xml - Delphi と NativeXML を使用して XML ファイルを処理する:
次のような XML ファイルがあるとします。
NativeXML (少なくともバージョン 3.06 まで) とこのコード
私はこの応答を得る
これは私が期待したものです
しかし、今はバージョン 4.07 で NativeXML を使用しており、同じコードを使用すると、結果は次のようになります。
実際には、XML はもう少し複雑になると思います。可能な限り簡単に、現在のバージョンの NativeXML で以前と同じ結果を得る方法はありますか?
ご協力いただきありがとうございます
PS: ところで、この記事「Delphi で NativeXML を使用して、XML ドキュメント内の同様のノードを反復処理するにはどうすればよいですか?」という記事を見てきましたが、最初に提案された解決策 (私のサンプルに似ています) は機能しません。 . 2 つ目は、避けたいノードのリストを使用することを意味します。
delphi - NativeXML - 処理命令の作成 (xml-stylesheet)
「クラシック」XMLオブジェクトでそれを行う方法を知っています
しかし今、私はNativeXMLを使用するプロジェクトを持っています。コードを混ぜたくありません。このタスクを完了するために NativeXML を使用したいと考えています。
だから...私の質問は次のとおりです。NativeXMLでこれを行うための機能/方法/回避策はありますか。
ありがとうございました!
xml - TNativeXML の複数の単語を含むセクション名
NativeXML v4.09 を使用して XML ファイルを作成しようとしており、次のような構造で使用しています。
私はこのような簡単なコードを書きます:
セクションのノードを読み取るには、次のようなコードを記述します。
上記の構造を持つ XML ファイル「test.xml」を作成できます。しかし、vNode はNodeByName関数から常に NILであるため、2 つの単語名 (「word1 word2」名など) を持つノード セクションを読みたい場合、常に「セクションが見つかりません」というメッセージが表示されます。
次に、エラーを追跡するために、NativeXML.TXMLNode.NodeByName関数に次のようなコードを追加します。
そして、このメッセージボックスを取得します:
セクション名が 2 つの単語 ("word1 word2" name) から 1 つの単語 ("word1" name) に変更されていることがわかります。
これは、スペースを含む複数の単語名を持つセクション名のバグですか、それともセクションの名前はスペースを含まない単一の単語でなければなりませんか? セクションの名前が単一の単語以上でスペースを含まない必要がある場合、セクションの名前にスペースを含む 2 つ以上の単語を含む XML を作成できるのに、 NodeByName で読み取るときにセクション ノードを取得できないのはなぜですか?