2011-12-29 7 views
2

.netオブジェクトを脱シリル化するためのクラスがあります。私はこのように出てくるルートXMLを取得しようとしている:.netオブジェクトを複数の名前空間を持つXMLにデシリアライズする

<TrainingCenterDatabase 
    xsi:schemaLocation="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2 http://www.garmin.com/xmlschemas/TrainingCenterDatabasev2.xsd" 
    xmlns:ns5="http://www.garmin.com/xmlschemas/ActivityGoals/v1" 
    xmlns:ns3="http://www.garmin.com/xmlschemas/ActivityExtension/v2" 
    xmlns:ns2="http://www.garmin.com/xmlschemas/UserProfile/v2" 
    xmlns="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns4="http://www.garmin.com/xmlschemas/ProfileExtension/v1"> 

私のクラスのXMLRootは、次のようになります。

[XmlRoot(ElementName="TrainingCenterDatabase",Namespace=Declarations.SchemaVersion,IsNullable=false),Serializable] 
public class TrainingCenterDatabase : com.trainerroad.garmin.TrainingCenterDatabase_t 
{ 

    public TrainingCenterDatabase() : base() 
    { 
    } 
} 

public struct Declarations 
{ 
    public const string SchemaVersion = "http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2"; 
} 

これを出力:

<TrainingCenterDatabase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 

方法XmlRootに余分な名前空間を追加しますか?

+1

を保存することが非常に重要である場合は、カスタムメソッドをシリアライズ使用することができますか?それは問題ではありません。 –

+0

@JohnSaundersだから、私はそれらを各要素に置く必要はありません。そのように多くのスペースを節約します。 – Nate

+0

実際にスペースの量は重要ですか?本当に?あなたはそれを測定したので重要だと分かっていますか? –

答えて

0
おそらく

ない最善の解決策が、あなたは、あなたがルート上にある名前空間が必要なのか、なぜスペースや交通

関連する問題