0
我有哪裏一些元素是內部資源的XML文件。 像反序列化XML元件,其引用(RDF參考資料)
<cim:BusbarSection rdf:ID="Busbar_05" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cim="http://iec.ch/TC57/2001/CIM-schema-cim10#">
<cim:Naming.name>30189P0205_Busbar_01</cim:Naming.name>
<cim:Equipment.MemberOf_EquipmentContainter rdf:resource="#VL_05" />
</cim:BusbarSection>
見Equipment.Equipment.MemberOf_EquipmentContainter是一種資源在同一個XML文件中定義,但在其他地方 像
<cim:VoltageLevel rdf:ID="VL_05" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cim="http://iec.ch/TC57/2001/CIM-schema-cim10#">
<cim:Naming.name>VL_0.22_1</cim:Naming.name>
<cim:VoltageLevel.MemberOf_Substation rdf:resource="#Substation_01" />
<cim:VoltageLevel.BaseVoltage rdf:resource="#BaseVoltage_02" /></cim:VoltageLevel>
在我的C#代碼,我有類結構像
[XmlType("BusbarSection", Namespace = "http://iec.ch/TC57/2001/CIM-schema-cim10#")]
public class BusbarSection:Connector
{
public BusbarSection()
{
}
}
public class Connector:Core.ConductingEquipment
{
public Connector()
{
}
}
public class ConductingEquipment:Equipment
{
//functions and constcturess...
}
public class Equipment:PowerSystemResource
{
[XmlElement("Equipment.MemberOf_EquipmentContainer")]
public EquipmentContainer MemberOf_EquipmentContainer;
public Equipment()
{
}
}
public class EquipmentContainer:PowerSystemResource
{
public Topology.ConnectivityNode[] ConnectivityNodes;
public Equipment[] Contains_Equipments;
public EquipmentContainer()
{
}
}
我想序列化的XML文件,它的工作不錯,但與作爲資源EquipmentContainer即將到來的元素空值。
我不知道如何序列化是在XML資源的XML元素。我錯過了c#中xml序列化的一些概念,我找不到如何尋找幫助/谷歌這個問題。
不幸的是,XML序列不是序列化和反序列化所有的XML一個完整的工具。在這種情況下,我認爲你必須「自己動手」。 XML序列化程序不處理引用(這是你在這裏的)。看看[LINQ to XML](http://msdn.microsoft.com/en-us/library/bb387098.aspx)。 – 2013-03-14 23:32:32
@JohnSaunders謝謝。我花了很多時間開發UML結構和編碼。一切都很好,直到我遇到這個資源參考問題。 – 2013-03-14 23:39:15
這應該是一個提示。建模應穿插編碼,測試和發佈。否則,你可以結束一個無法實現的漂亮模型。 – 2013-03-14 23:41:18