問題タブ [xmlwriter]

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 投票する
3 に答える
502 参照

c# - XMLElementName にスペースは使用できません

XMLwriter を使用して適切に機能する HTML を作成していますが、イメージ タグを配置する必要がありますが、それを行うことができません。要素名に ' ' を使用できないと報告されます。それを解決するためのアドバイスをお願いします、ありがとう!

編集:基本的に、XMLドキュメントでこれを作成する方法:

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

php - XmlWriterオブジェクトを組み合わせる?

私のアプリケーションの構造では、各コンポーネントがXMLとして出力を生成し、XmlWriterオブジェクトを返します。最終出力をページにレンダリングする前に、すべてのXMLを結合し、そのオブジェクトに対してXSL変換を実行します。以下は、アプリケーション構造の簡略化されたコードサンプルです。

このようにXmlWriterオブジェクトを組み合わせるのは理にかなっていますか?アプリケーションを構造化するためのより良い方法はありますか?最適なソリューションは、単一のXmlWriterインスタンスをパラメーターとして各コンポーネントに渡す必要がないソリューションです。


更新:
XmlWriterを完全に放棄し、代わりにDomDocumentを使用する場合があります。それはより柔軟性があり、パフォーマンスも優れているように見えました(少なくとも私が作成した大まかなテストでは)。

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

namespaces - XmlWriterに複数の名前空間宣言を追加する

XmlWriterを使用して次の要素を書き出そうとしています

私は最初の宣言を使用して行われました

残りの3つの宣言を同じ要素に追加するにはどうすればよいですか?

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

c# - xmlファイルにドット表記を書く方法は?

XmlWriter を使用して C# で XML ファイルを作成しています。メソッドを使用して要素を記述でき、WriteStartElement()メソッドを使用してこの要素に属性を追加できますWriteAttributeString()。しかし、ドット表記を使用して属性を追加したい場合は、どうすればよいですか?

電話できることはわかっていますWriteStartElement("Element.Attribute")が、よりクリーンなアプローチを探しています。これを行う他の方法はありますか?

編集1:

私は階層的な(ツリーの形で)オブジェクト(objなど)を持っています。このツリーの各ノードには、さらにノードを含めることができるいくつかのプロパティがあります。このオブジェクトを Xml に保存しています。そのために、XmlWriter を使用しています。実行時に、obj を反復処理し、GetType().Name を使用してノードのタイプを読み取り、それを渡して XmlNode を書き込みGetType().GetProperties()、それを使用してそのノードのすべてのプロパティを取得し、次に foreach を使用して PropertyInfo 配列を 1 つずつ調べます。 PropertyInfo の Name を属性として書き込みますが、ノードに割り当てられたプロパティがある場合は、上記のドット表記を記述する必要があります。PropertyInfo とオブジェクトを渡すだけで、目的の形式で書き込むメソッドを探しています。

助けてくれてありがとう!

編集2:

特定のノードに対して、Height や Width のようなプロパティ、コレクションであり Xml の階層に暗黙的に存在する Children のようなプロパティ、いくつかのプロパティを持ち、それぞれが親の下のノードで表される Resources のようなプロパティがあります。ただし、保存中は次のように記述されます。

手伝ってくれてありがとう!

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

c# - xmlファイルからバージョンを削除しています

を使用してXmlのような形式を作成していXmlWriterます。ただし、出力にはバージョン情報も含まれています。

私のファイルにはこれは必要ありません。どうやってやるの?コードで削除する方法はありますか?

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

c# - C# を使用した XSLT で問題が発生しています。

この行でエラーが発生するので、次のコードを見てください。

エラー:

ステップ イン: 非ユーザー コード 'System.Xml.Linq.XNode.CreateReader' をステップ実行します

((System.NullReferenceException)(例))

XSLT は次のとおりです。

エラー:

System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。System.Xml.Xsl.Runtime.XmlMergeSequenceWriter.StartTree (XPathNodeType rootType、IXmlNamespaceResolver nsResolver、XmlNameTable nameTable) で System.Xml.Xsl.Runtime.XmlQueryOutput.StartTree (XPathNodeType rootType) で System.Xml.Xsl.Runtime.XmlQueryOutput.WriteStartRoot () System.Xml.Xsl.XmlILCommand.Execute で Root(XmlQueryRuntime {urn:schemas-microsoft-com:xslt-debug}runtime) で Execute(XmlQueryRuntime {urn:schemas-microsoft-com:xslt-debug}runtime) で(オブジェクト defaultDocument、XmlResolver dataSources、XsltArgumentList argumentList、XmlWriter ライター、Boolean closeWriter) System.Xml.Xsl.XmlILCommand.Execute(XmlReader contextDocument、XmlResolver dataSources、XsltArgumentList argumentList、XmlWriter results) at System.Xml.Xsl.

これを行うと、動作します:

XmlWriter の何が間違っていますか?

クラッシュ直前の xdoc の値:

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

xmlwriter - webmethod エンコーディングの問題

.NET Web サービスで n00b の問題に直面しています。WebMethod の戻り値の型は、既にエンコードされた文字列をエンコードしています (既に xml ライターによってエンコードされています)。

これをオフにする方法はありますか?

webmethod が返す前に準備された xml の例 <p> Hello World </p>

しかし、webmethod 応答 <p> からクライアントが受け取った xml は Hello World </P>

アンパサンドは Web メソッドによってエンコードされています

私は xmlwriter オブジェクトを使用して xml を構築しています...誰かこれに対する解決策を持っていますか?

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

c# - XMLライターの質問

XML Writerを使用して、アプリケーション内のいくつかの重要なイベントのログを作成しています。

現在、アプリケーションが正しく閉じられていれば、すべて正常に機能しますが、閉じられていない場合、ファイルは閉じられず、ログは基本的に失われます。

次のような単純な要素の記述を想定しましょう。

この時点でファイルを閉じ、後で残りの要素をファイルに追加してから、ルート要素とxmlライターを閉じる方法はありますか?

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

c# - 異常な接続プロトコルのXMLシリアル化

私のアプリケーションには、PacketListクラスとPacketクラスがあります。PacketListシリアル化ヘルパーを使用して、目的の出力のようなものを考え出すことができるようにしたいと思いますが、どの方向に進むべきかわかりません。

私は、データを送信するための独特のプロトコルを持つサーバーを模倣するプログラムを書いています。

クライアントは次の形式でデータを送信します:COMMAND|ARGUMENT_0|ARGUMENT_1|ARGUMENT_2|...|ARGUMENT_N\0COMMANDまたはのようなものはどこにありますMOVELOGIN

サーバーは次の形式で応答します。

COMMAND_0またはのようなものはどこにありますUPDATE_POSITIONAUTHENTICATED

はい、これは物事を行うためのばかげた方法です。いいえ、なぜこのように行われたのかわかりません。いいえ、変更できません。

とにかく、私はサーバーがパケットをクライアントに送り返す方法をエミュレートしようとしています。私がこれまでに得たものは次のとおりです。

これは正しく機能し、以下を出力します。

ただし、これをよりクリーンな方法で実装したいと思います。

PacketListは基本的にPacketsのリストをPacket含み、aString _Commandとを含みますString[] _Arguments

誰かが私を正しい方向に導くことができれば、それは大いにありがたいです。

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

asp.net - XMLTextWriter と XMLWriterSettings を連携させる方法

設定用に次のコードがあります。

次に、ライター用の次のコードがあります。

設定をライターに適用する方法を教えてください。

どうもありがとう、フィル。

編集:コードサンプル

使用しても問題なく動作します。

Dim xml As New XmlTextWriter(Server.MapPath("output.xml"), enc)

xml は生成されますが、設定は適用されません。