我有一个用于解除.net对象的类。我正试图让root 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?
答案 0 :(得分:0)
可能不是最佳解决方案,但如果节省空间或流量非常重要,您可以使用自定义序列化方法