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に余分な名前空間を追加しますか?
を保存することが非常に重要である場合は、カスタムメソッドをシリアライズ使用することができますか?それは問題ではありません。 –
@JohnSaundersだから、私はそれらを各要素に置く必要はありません。そのように多くのスペースを節約します。 – Nate
実際にスペースの量は重要ですか?本当に?あなたはそれを測定したので重要だと分かっていますか? –