このファイルまたはコードの何が問題になっていますか?

パブロコスタ

何が起こっているのですか\違いは何ですか?XMLファイルから特定のノードを返そうとしています。

XMLファイル:

  <?xml version="1.0" encoding="utf-8"?>
    <JMF SenderID="InkZone-Controller" Version="1.2">
      <Command ID="cmd.00695" Type="Resource">
        <ResourceCMDParams ResourceName="InkZoneProfile" JobID="K_41">
          <InkZoneProfile ID="r0013" Class="Parameter" Locked="false" Status="Available" PartIDKeys="SignatureName SheetName Side Separation" DescriptiveName="Schieberwerte von DI" ZoneWidth="32">
            <InkZoneProfile SignatureName="SIG1">
              <InkZoneProfile Locked="False" SheetName="S1">
                <InkZoneProfile Side="Front" />
              </InkZoneProfile>
            </InkZoneProfile>
          </InkZoneProfile>
        </ResourceCMDParams>
      </Command>
<InkZoneProfile Separation="Cyan" ZoneSettingsX="0 0,005 " />
    </JMF>

コード:

           XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load("C:\\test\\test.xml");
            XmlNode root = xmlDoc.DocumentElement;
            var parent = root.SelectSingleNode("/JMF/Command/ResourceCmdParams/InkZoneProfile/InkZoneProfile/InkZoneProfile/InkZoneProfile");

            XmlElement IZP = xmlDoc.CreateElement("InkZoneProfile");
            IZP.SetAttribute("Separation", x.colorname);
            IZP.SetAttribute("ZoneSettingsX", x.colorvalues);
            xmlDoc.DocumentElement.AppendChild(IZP);
            xmlDoc.Save("C:\\test\\test.xml");

varparentは私にnullを返します。デバッグしましたが、rootとxmlDocの内部テキストにXMLコンテンツがあります。しかし、ここで行われたテスト(前の質問でユーザー@ har07によって行われた:SelectSingleNodeは、名前空間を管理していてもnullを返します。問題なく動作しました。https//dotnetfiddle.net/vJ8h9S

これら2つの違いは何ですか?それらは基本的に同じコードに従いますが、一方は機能し、もう一方は機能しません。
デバッグ中に、root.InnerXmlのコンテンツがロードされていることがわかりました(XmlDoc.InnerXmlと同じ)。ただし、InnerXmlはSelectSingleNodeへのメソッドを実装していません。文字列に保存すると、インデントなどが失われる可能性があると思います。

誰かが違いは何ですか、何が間違っているのか教えてもらえますか?ありがとう!XMLサンプル:https//drive.google.com/file/d/0BwU9_GrFRYrTUFhMYWk5blhhZWM/view?usp = shareing

トゥエンファム

SetAttribute文字列を自動エスケープしないでください。したがって、XMLファイルが無効になります。

XmlElement.SetAttributeについてのMSDNから

エンティティ参照として認識される構文などのマークアップは、リテラルテキストとして扱われ、書き出されるときに実装によって適切にエスケープされる必要があります。

コード内ですべての行に含まれているものを見つけ、値をエスケープするためにSetAttribute使用SecurityElement.Escapeします。

例:次の行を変更します。

IZP.SetAttribute("Separation", x.colorname);
IZP.SetAttribute("ZoneSettingsX", x.colorvalues);

に:

using System.Security;

IZP.SetAttribute("Separation", SecurityElement.Escape(x.colorname));
IZP.SetAttribute("ZoneSettingsX", SecurityElement.Escape(x.colorvalues));

属性に名前が含まれている場合は<>"'&、値のようにエスケープする必要があります。

注意:

古いコードを使用して作成した現在のxmlは無効であるため、ロードすると例外が発生するため、削除する必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

このPHPファイルの名前変更コードの何が問題になっていますか?

分類Dev

C ++でのこのファイル処理コードの何が問題になっていますか?

分類Dev

C ++でのこのファイル処理コードの何が問題になっていますか?

分類Dev

ファイルを読み取るためのこのコードの何が問題になっていますか?

分類Dev

この.desktopファイルの何が問題になっていますか?

分類Dev

標準出力をファイルにリダイレクトする方法—このコードの何が問題になっていますか?

分類Dev

複数のjsファイルを1つに結合するこのコードの何が問題になっていますか?

分類Dev

Sobelフィルターのこのコードの何が問題になっていますか?

分類Dev

.matファイルをMatlabにロードする方法は?基本的に私のコードの何が問題になっていますか?

分類Dev

このファイル名変更ループの何が問題になっていますか?

分類Dev

未定義の参照の原因となっているマージ sort.h ファイル内のコードの何が問題になっていますか?

分類Dev

このヘッダーファイルの何が問題になっていますか?

分類Dev

glibcのビルドエラー:make / configureファイルの何が問題になっていますか?

分類Dev

このコードのmetricsargの何が問題になっていますか?

分類Dev

このコードのchrの何が問題になっていますか?

分類Dev

sessionloginidのこのコードの何が問題になっていますか

分類Dev

ARMのこのコードの何が問題になっていますか

分類Dev

この次のコードの何が問題になっていますか?

分類Dev

このC ++のコードの何が問題になっていますか?

分類Dev

APUEのこのコードの何が問題になっていますか?

分類Dev

Nodemonがリロードしていません。このnodemon.jsonファイルの何が問題になっていますか

分類Dev

このコードの何が問題になっているのか教えていただけますか?

分類Dev

このJava Puzzlersコードの何が問題になっていますか?

分類Dev

このコードの何が問題になっていますか(Simple LinkedList)

分類Dev

このJavaGUIコードの何が問題になっていますか?

分類Dev

このコードの何が問題になっていますか?html + php

分類Dev

このVBAコードの何が問題になっていますか

分類Dev

このopencvコードの何が問題になっていますか

分類Dev

このコードの何が問題になっていますか?

Related 関連記事

  1. 1

    このPHPファイルの名前変更コードの何が問題になっていますか?

  2. 2

    C ++でのこのファイル処理コードの何が問題になっていますか?

  3. 3

    C ++でのこのファイル処理コードの何が問題になっていますか?

  4. 4

    ファイルを読み取るためのこのコードの何が問題になっていますか?

  5. 5

    この.desktopファイルの何が問題になっていますか?

  6. 6

    標準出力をファイルにリダイレクトする方法—このコードの何が問題になっていますか?

  7. 7

    複数のjsファイルを1つに結合するこのコードの何が問題になっていますか?

  8. 8

    Sobelフィルターのこのコードの何が問題になっていますか?

  9. 9

    .matファイルをMatlabにロードする方法は?基本的に私のコードの何が問題になっていますか?

  10. 10

    このファイル名変更ループの何が問題になっていますか?

  11. 11

    未定義の参照の原因となっているマージ sort.h ファイル内のコードの何が問題になっていますか?

  12. 12

    このヘッダーファイルの何が問題になっていますか?

  13. 13

    glibcのビルドエラー:make / configureファイルの何が問題になっていますか?

  14. 14

    このコードのmetricsargの何が問題になっていますか?

  15. 15

    このコードのchrの何が問題になっていますか?

  16. 16

    sessionloginidのこのコードの何が問題になっていますか

  17. 17

    ARMのこのコードの何が問題になっていますか

  18. 18

    この次のコードの何が問題になっていますか?

  19. 19

    このC ++のコードの何が問題になっていますか?

  20. 20

    APUEのこのコードの何が問題になっていますか?

  21. 21

    Nodemonがリロードしていません。このnodemon.jsonファイルの何が問題になっていますか

  22. 22

    このコードの何が問題になっているのか教えていただけますか?

  23. 23

    このJava Puzzlersコードの何が問題になっていますか?

  24. 24

    このコードの何が問題になっていますか(Simple LinkedList)

  25. 25

    このJavaGUIコードの何が問題になっていますか?

  26. 26

    このコードの何が問題になっていますか?html + php

  27. 27

    このVBAコードの何が問題になっていますか

  28. 28

    このopencvコードの何が問題になっていますか

  29. 29

    このコードの何が問題になっていますか?

ホットタグ

アーカイブ