1

どうやら Altova XMLSpy 2012 sp1 のコード ジェネレーターの最新バージョンにバグがあり、タグ名前空間プレフィックスを使用する XML ファイルを操作すると、生成された XML にプレフィックスがないことがわかります。さまざまなバージョンを試してみて、その問題の修正を見つけた後、基本的に次のメソッドの内容を置き換える必要があります (typebase.cs の 110 行目):

public XmlNode CreateElement(MemberInfo member) 

return XmlTreeOperations.AddElement(node, member);

それは魔法を行うはずです。

誰かがこれを確認できますか?

注: Altova がサポート フォーラムを閉鎖し、電子メールでの問い合わせに応答していないように見えるため、ここに投稿しています...

よろしく、これが誰かに役立つことを願っています。

ヴラックス

4

2 に答える 2

1

要素を作成するためにコンストラクターを変更することもできます。

public XmlNode CreateElement(MemberInfo member)
{
    string prefix = member.ContainingType.Namespace.prefix;
    XmlDocument doc = node.OwnerDocument;
    if (doc == null)
        doc = (XmlDocument)node;
    XmlNode child = doc.CreateElement(prefix, member.LocalName, member.NamespaceURI);
    node.AppendChild(child);
    return child;
}

ただし、生成された要素から名前空間 uri を削除する必要があります。考えられる解決策は次のとおりです 。xmlから名前空間をクリアする

于 2014-09-23T13:05:36.847 に答える
0

自動生成されたコードをカスタマイズするには、SPL ディレクトリに移動する必要があります。以下は、SPL ディレクトリのパスです。SPL ディレクトリを変更する前に。最初に SPL を学習してください。

C:\Program Files\Altova\XMLSpy2012\spl

1. Study SPL directory first.
2. Select your lang in which you work. 
Suppose you work in c# then modify the files inside the  below path
C:\Program Files\Altova\XMLSpy2012\spl\cs\MapForce
于 2012-06-15T11:54:55.827 に答える