問題タブ [txmldocument]
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.
delphi - TXMLDocumentの代わりに?
最近、コードをDelphi2009からDelphiXEにアップグレードし、Indyコンポーネントを更新しました(これが適切かどうかはわかりません)。
しかし、それ以来、XMLファイルのロードと保存時にWindowsServer2003マシンでエラーが発生しました。
DLL msvcrt.dllは、他のオペレーティングシステムの600kb以上と比較して、Windows Server 2003でははるかに小さい(300kb程度)...そのため、そのファイルに何かが欠落していて、エラーが発生します...
誰かがこれを修正する方法を知っていますか?TXMLDocument
または、私が試すことができる代替手段はありますか?
delphi - IXMLDocument を使用した NTDLL でのアクセス違反
デバッガーが Ntdll.NtRaiseException で停止するアドレス 0xfeeefeee の読み取りでアクセス違反が継続的に発生します。これ以上デバッグすることはできません。アプリに障害が発生したことを示すループ状態が発生するためです。ステップを使用するか、実行します...これは私を最初に戻します。これは明らかに IDE (Delphi XE2) 32 ビットでのみ発生します。私のアプリケーションは、次のコードを使用しています
ファイルが開いたら、xml データ バインディング ウィザード (File New Other XML) から読み込まれた関数を呼び出して、上記のプロシージャで開いた xml ファイルを解析します。私の意図は、csv ファイルを作成し、sqlldr を使用してデータを Oracle データベースにエクスポートすることです。IDE の外ではすべての作業が見つかり、一晩中 sring グリッドにデータを表示するだけでアプリケーションを実行したままにすることができますが、ide では数分以内にクラッシュします。コール スタックには、有用なものは何も表示されません。ご覧のとおり、TXMDocument.create と NewXML を試しましたが、役に立ちませんでした。オブジェクトをフォームに配置して、そのインスタンスを無駄に使用しようとしました。どなたかアイデアをお願いします。(Windows 7 64 ビットですが、オラクルの依存関係のために 32 ビットに準拠しています)
編集、debug dcus がオンになっている場合でも、コール スタックは、ole32.dll およびその他の nt 関連の dll への参照だけで何も役に立たないことを示します
アプリのコードを以下に示します (一部)。
openfile は、このタイプのプロシージャによって呼び出されます
前に述べたように、TXMDocument、IXMLDocument、および Create と NewXMDocument を使用してみましたが、それでもエラーが発生します。DEbug dcus' は違いはありません。プロジェクトヘッダーと MadExcept で FastMM4 を使用するのにうんざりしていますが、エラーをキャッチしません。
delphi - XML ファイルを投稿するための Indy Tidhttp の正しいエンコーディングは何ですか?
Indy Client を使用するアプリケーションの XML ファイルに無効な文字があることに気付きました (実際には IdHttp のデフォルト パラメータを使用しています)。
これが私のコードです:
私の XML ファイルは UTF-8 でエンコードされています。
サーバーで適切なエンコーディングを取得するにはどうすればよいですか (サーバーには Indy も使用しています)。
delphi - string から xmlNode delphi へ (または xml フラグメントを TXMLDocument に追加する方法)
整形式の XML を含むテキスト文字列がいくつかあります。
IXMLNodes
(1) これらの文字列を変換してから (2) 既存の に追加できるようにしたいと考えていますXMLDocument
。XMLDocument
できれば、新しい最初 を宣言しないでください。
これは不可能に思えますか?
ただし、同等のことを達成する簡単な方法はありますか? 私の最初の考えは、IXMLNode.XML
(string) プロパティを使用して新しい文字列を挿入することでした。IXMLNode.XML
読み取り専用のような運はありません。
に次の文字列がある場合の例を次に示しますTStringList
。
そして、次の XML がすでに にロードされていましたがTXMLDocument
、上記の 2 行を下に簡単に追加するにはどうすればよいTXMLDocument
でしょうか?
これを達成する他の(簡単な)方法はありますか(XMLプロパティの保護されたハックはありません)?
ありがとうございました!
delphi - TXMLDocument で空白を保持するときの Delphi 例外
これは私の以前の投稿のフォローアップです: String to XmlNode Delphi (or how to add an xml fragment to TXMLDocument) 新しい質問を始めるのが適切だと思われました...
基本的に、整形式の xml スニペットを既存の xmldocument に追加しています。前の解決策で提案されたコードは、[poPreserveWhiteSpace] を TXMLDocument.ParseOptions に追加するまではうまく機能していました。
[poPreserveWhiteSpace] を削除すると、すべて正常に動作しますが、空白は保持されません。実際には、終了タグを新しい行に配置します。
Target TXMLDocument のコード スニペットを次に示します。
上記の Options と ParseOptions のさまざまな組み合わせを試しましたが、[poPreserveWhiteSpace] を削除することによってのみコードを機能させることができます。
例外をトリガーするコードは、次の 2 行目です。
xml スニペットを追加する前に、LoadXMLData(..) の戻り値への参照を作成し、それらの ParseOptions を一致するように設定しようとしましたが、うまくいきませんでした。
何かご意見は?
編集:問題を示すために自己完結型のサンプル コードを追加します。タイトルを明確化。 ここにいくつかの単純化されたコードがあります。[poPreserveWhitespace] を含む行をコメントアウトしない限り、例外が発生することに注意してください。**編集 2: Remy の提案に従って、空白を保持するようにコードを微調整します。FormatXMLData を呼び出すときにまだ問題があります。
マージされた XML ファイルの結果... フォーマット中に空白のプロパティ値が消去されました (そして、データをフォーマットする必要がありますが、それは本当に醜いです)。
delphi - TXMLDocument 経由で IXMLDOMDocument2 にアクセスしていますか?
Delphi の TXMLDocument クラスを使用し、TransformNode メソッドを使用して XSLT 変換を実行する実用的なコードがいくつかあります。
<msxml:script>
しかし、XSLT Javascript 関数 (タグ)を有効にする必要があります。これは、のAllowXsltScript
プロパティIXMLDOMDocument2
を true に設定する必要があることを意味します。
http://msdn.microsoft.com/en-us/library/windows/desktop/ms760290(v=vs.85).aspx
私はこれを成功裏に達成しました - ただし、Delphi ライブラリ関数のソースCreateDOMDocument
をmsxmldom.pas
.
明らかに、これは満足のいくものではありません。では、ライブラリ コードを変更せずに IXMLDOMDocument2 オブジェクトにアクセスするにはどうすればよいでしょうか?