如何在 asp.net C# 中读取 XMI 文件并在树视图中显示。XMI 与 XML 有不同的格式,我想在 asp.net C# 中读取以下格式的 XMI 文件数据。XMI 的格式如下所示。谁能建议我如何阅读这种格式并将这个 XMI 转换为 C# 中的树格式
<?xml version="1.0" encoding="UTF-8"?>
<xmi:Extension extender="Visual Paradigm">
<nickname exportedFromDifferentName="false"/>
</xmi:Extension>
</xmi:Documentation>
<xmi:Extension extender="Visual Paradigm">
<projectProperties>
<projectProperty name="author" value="Dell"/>
<projectProperty name="description" value="test"/>
</projectProperties>
<ProjectOptions>
<IDPositionRotation>
<Positions>
<Position id="BPTask" value="\u0004"/>
<Position id="BPSubProcess" value="\u0004"/>
</Positions>
<Positions>
<Rotation id="BPTask" value="\u0000"/>
<Rotation id="BPSubProcess" value="\u0000"/>
</Positions>
</IDPositionRotation>
<LanguageDataType>
<LanguageDataTypeModel id="Java" name="Java">
<DataType>boolean</DataType>
<DataType>byte</DataType>
</LanguageDataTypeModel>
<LanguageDataTypeModel id="UML" name="UML">
<DataType>boolean</DataType>
<DataType>byte</DataType>
</LanguageDataTypeModel>
</LanguageDataType>
<GeneralOptions confirmSubLevelIdWithDot="true"/>
<ModelQualityOptions enableModelQualityChecking="false"/>
<OfficeExchangeOptions generateBlankModel="false" generateTableOfContent="true" insertPageBreak="true"/>
<ORMOptions decimalPrecision="19" decimalScale="0" exportCommentToDatabase="true" formattedSQL="false" generateAssociationWithAttribute="false" generateDiagramFromORMWizards="true" getterSetterVisibility="\u0000" idGeneratorType="native" mappingFileColumnOrder="\u0000" numericToClassType="\u0000" quoteSQLIdentifier="\u0000" recreateShapeWhenSync="false" syncToClassDiagramAttributeName="\u0001" syncToClassDiagramAttributeNamePrefix="" syncToClassDiagramAttributeNameSuffix="" syncToClassDiagramClassName="\u0000" syncToClassDiagramClassNamePrefix="" syncToClassDiagramClassNameSuffix="" syncToERDColumnName="\u0000" syncToERDColumnNamePrefix="" syncToERDColumnNameSuffix="" syncToERDTableName="\u0004" syncToERDTableNamePrefix="" syncToERDTableNameSuffix="" synchronizeDefaultValueToColumn="false" synchronizeName="\u0002" tablePerSubclassFKMapping="\u0000" upperCaseSQL="true" useDefaultDecimal="true" wrappingServletRequest="\u0001"/>
<RequirementDiagramOptions defaultWrapMember="false" showAttributes="\u0001" supportHTMLAttribute="false"/>
<StateCodeEngineOptions autoCreateInitialStateInStateDiagram="true" autoCreateTransitionMethods="true" defaultInitialStateLocationX="-1" defaultInitialStateLocationY="-1" generateDebugMessage="false" generateSample="true" generateTryCatch="true" language="\u0000" regenerateTransitionMethods="false" syncTransitionMethods="true"/>
<WarningOptions createORMClassInDefaultPackage="true"/>
<PORepository>
<POUserIDFormats>
<POUserIDFormat digits="2" guid="false" id="s_eav6qAUEBg4gV9" lastNumericValue="0" modelType="BPMNElement" prefix="BP" suffix=""/>
<POUserIDFormat digits="2" guid="false" id="s_eav6qAUEBg4gV." lastNumericValue="0" modelType="Actor" prefix="AC" suffix=""/>
</POUserIDFormats>
</PORepository>
</ProjectOptions>
</xmi:Extension>
<uml:Model name="Online Bookshop" xmi:id="ineav6qAUEBg4gOG">
<xmi:Extension extender="Visual Paradigm">
<vpumlChildModels>
<vpumlModel id="mneav6qAUEBg4gOR" modelType="WSDLContainer">
<properties>
<property name="name" type="string" value="WSDLContainer"/>
<property name="modelType" type="string" value="WSDLContainer"/>
</properties>
<vpumlChildModelRefs>
<modelRef value="uneav6qAUEBg4gOS"/>
</vpumlChildModelRefs>
</vpumlModel>
<vpumlModel id="jneav6qAUEBg4gPL" modelType="PMPriorityContainer">
<properties>
<property name="name" type="string" value=""/>
<property name="modelType" type="string" value="PMPriorityContainer"/>
</properties>
<vpumlChildModelRefs>
<modelRef value="jneav6qAUEBg4gPM"/>
<modelRef value="jneav6qAUEBg4gPN"/>
<modelRef value="jneav6qAUEBg4gPO"/>
</vpumlChildModelRefs>
<vpumlChildModels>
<vpumlModel id="jneav6qAUEBg4gPM" modelType="PMPriority">
<properties>
<property name="name" type="string" value="Low"/>
<property name="modelType" type="string" value="PMPriority"/>
</properties>
</vpumlModel>
<vpumlModel id="jneav6qAUEBg4gPN" modelType="PMPriority">
<properties>
<property name="name" type="string" value="Medium"/>
<property name="modelType" type="string" value="PMPriority"/>
</properties>
</vpumlModel>
<vpumlModel id="jneav6qAUEBg4gPO" modelType="PMPriority">
<properties>
<property name="name" type="string" value="High"/>
<property name="modelType" type="string" value="PMPriority"/>
</properties>
</vpumlModel>
</vpumlChildModels>
</vpumlModel>
</vpumlChildModels>
</xmi:Extension>
<ownedMember name="UseCase" xmi:id="UseCase_UseCase_id" xmi:type="uml:Stereotype">
<xmi:Extension extender="Visual Paradigm">
<baseType value="UseCase"/>
<taggedValueDefinitions>
<taggedValueDefinition htmlValue="" id="hveav6qAUEBg4gVn" name="Level" type="2" value="">
<value value="Summary"/>
<value value="User"/>
<value value="Subfunction"/>
</taggedValueDefinition>
<taggedValueDefinition htmlValue="" id="pveav6qAUEBg4gVr" name="Preconditions" type="4" value=""/>
<taggedValueDefinition htmlValue="" id="pveav6qAUEBg4gVs" name="Post-conditions" type="4" value=""/>
</taggedValueDefinitions>
<qualityScore value="-1"/>
</xmi:Extension>
</ownedMember>
<ownedMember name="Case Story" xmi:id="UseCase_Case Story_id" xmi:type="uml:Stereotype">
<xmi:Extension extender="Visual Paradigm">
<baseType value="UseCase"/>
<qualityScore value="-1"/>
</xmi:Extension>
</ownedMember>
<ownedMember name="requirement" xmi:id="Requirement_requirement_id" xmi:type="uml:Stereotype">
<xmi:Extension extender="Visual Paradigm">
<baseType value="Requirement"/>
<taggedValueDefinitions>
<taggedValueDefinition htmlValue="" id="tfeav6qAUEBg4gV4" name="kind" type="2" value="">
<value value="Functional"/>
<value value="Performance"/>
<value value="Interface"/>
</taggedValueDefinition>
</taggedValueDefinitions>
<qualityScore value="-1"/>
</xmi:Extension>
</ownedMember>
<ownedMember xmi:type="uml:Collaboration">
<xmi:Extension extender="Visual Paradigm">
<dummyModel value="true"/>
</xmi:Extension>
<ownedBehavior name="Communication Diagram" xmi:id="..HGv6qAUEBg4gWI" xmi:type="uml:Interaction">
<lifeline name="online book shop" represents="ydguv6qAUEBg4gcZ_represents" xmi:id="ydguv6qAUEBg4gcZ" xmi:type="uml:Lifeline">
<lowerValue value="1" xmi:id="ydguv6qAUEBg4gcZ_multiplicity_lowerValue" xmi:type="uml:LiteralString"/>
<upperValue value="*" xmi:id="ydguv6qAUEBg4gcZ_multiplicity_upperValue" xmi:type="uml:LiteralString"/>
<xmi:Extension extender="Visual Paradigm">
<active xmi:value="false"/>
<stopped xmi:value="false"/>
<multiObject xmi:value="false"/>
<lifeline/>
<qualityScore value="-1"/>
</xmi:Extension>
<coveredBy xmi:idref="auR_gGqAUEBg4gnk"/>
<coveredBy xmi:idref="2E9_gGqAUEBg4gn6"/>
</lifeline>
<ownedConnector xmi:id="D_Fo_6qAUEBg4gk1" xmi:type="uml:Connector">
<end role="ydguv6qAUEBg4gcZ" xmi:id="D_Fo_6qAUEBg4gk2" xmi:type="uml:ConnectorEnd">
<xmi:Extension extender="Visual Paradigm">
<modelType value="InteractionLifeLineLinkEnd"/>
<qualityScore value="-1"/>
</xmi:Extension>
</end>
</ownedConnector>
<ownedConnector xmi:id="Qa6Y_6qAUEBg4gmC" xmi:type="uml:Connector">
<end role="ydguv6qAUEBg4gcZ" xmi:id="Qa6Y_6qAUEBg4gmD" xmi:type="uml:ConnectorEnd">
<xmi:Extension extender="Visual Paradigm">
<modelType value="InteractionLifeLineLinkEnd"/>
<qualityScore value="-1"/>
</xmi:Extension>
</end>
<ownedRule constrainedElement="n0XgQGqAUEBg4gsC" name="Order_complete" xmi:id="M792QGqAUEBg4gyr">
<specification body="self.order>0" xmi:type="uml:OpaqueExpression"/>
<xmi:Extension extender="Visual Paradigm">
<qualityScore value="-1"/>
</xmi:Extension>
</ownedRule>
</ownedConnector>
<ownedConnector xmi:id="3CmY_6qAUEBg4gmI" xmi:type="uml:Connector">
<end role="ydguv6qAUEBg4gcZ" xmi:id="3CmY_6qAUEBg4gmJ" xmi:type="uml:ConnectorEnd">
<xmi:Extension extender="Visual Paradigm">
<modelType value="InteractionLifeLineLinkEnd"/>
<qualityScore value="-1"/>
</xmi:Extension>
</end>
<xmi:Extension extender="Visual Paradigm">
<modelType value="InteractionLifeLineLink"/>
<qualityScore value="-1"/>
</xmi:Extension>
</ownedConnector>
<fragment covered="ydguv6qAUEBg4gcZ" message="auR_gGqAUEBg4gnj" xmi:id="auR_gGqAUEBg4gnk" xmi:type="uml:EventOccurrence">
<xmi:Extension extender="Visual Paradigm">
<qualityScore value="-1"/>
</xmi:Extension>
</fragment>
<fragment covered="GypQ_6qAUEBg4ggf" message="2E9_gGqAUEBg4gn5" xmi:id="2E9_gGqAUEBg4gn7" xmi:type="uml:EventOccurrence">
<xmi:Extension extender="Visual Paradigm">
<qualityScore value="-1"/>
</xmi:Extension>
</fragment>
<ownedConnector xmi:id="EzegQGqAUEBg4grB" xmi:type="uml:Connector">
<end role="ydguv6qAUEBg4gcZ" xmi:id="EzegQGqAUEBg4grC" xmi:type="uml:ConnectorEnd">
<xmi:Extension extender="Visual Paradigm">
<modelType value="InteractionLifeLineLinkEnd"/>
<qualityScore value="-1"/>
</xmi:Extension>
</end>
</ownedConnector>
<message connector="6jguv6qAUEBg4gce" name="find_books()" receiveEvent="wLguv6qAUEBg4gcn" sendEvent="wLguv6qAUEBg4gcm" xmi:id="wLguv6qAUEBg4gcl" xmi:type="uml:Message">
<signature xmi:id="wLguv6qAUEBg4gcl_type" xmi:type="uml:Action"/>
<xmi:Extension extender="Visual Paradigm">
<returnValue name="" xmi:id="jtfQQGqAUEBg4gtR" xmi:type="uml:ReplyAction">
<xmi:Extension extender="Visual Paradigm">
<iteration xmi:value="false"/>
<asynshronous xmi:value="false"/>
<qualityScore value="-1"/>
</xmi:Extension>
</returnValue>
<number xmi:value="1"/>
<asynshronous xmi:value="false"/>
<qualityScore value="-1"/>
</xmi:Extension>
</message>
<ownedAttribute name="online book shop" xmi:id="ydguv6qAUEBg4gcZ_represents"/>
<lifeline name="inventory" represents="mdyff6qAUEBg4ggL_represents" xmi:id="mdyff6qAUEBg4ggL" xmi:type="uml:Lifeline">
<xmi:Extension extender="Visual Paradigm">
<active xmi:value="false"/>
<stopped xmi:value="false"/>
<multiObject xmi:value="false"/>
<lifeline/>
<qualityScore value="-1"/>
</xmi:Extension>
<coveredBy xmi:idref="n0XgQGqAUEBg4gsE"/>
</lifeline>
<ownedAttribute name="inventory" xmi:id="mdyff6qAUEBg4ggL_represents"/>
<lifeline name=" Book_price" represents="WeRQ_6qAUEBg4ggW_represents" xmi:id="WeRQ_6qAUEBg4ggW" xmi:type="uml:Lifeline">
<xmi:Extension extender="Visual Paradigm">
<active xmi:value="false"/>
<stopped xmi:value="false"/>
<multiObject xmi:value="false"/>
<lifeline/>
<qualityScore value="-1"/>
</xmi:Extension>
<coveredBy xmi:idref="auR_gGqAUEBg4gnl"/>
</lifeline>
<ownedAttribute name=" Book_price" xmi:id="WeRQ_6qAUEBg4ggW_represents"/>
<ownedConnector xmi:id="5FbGQGqAUEBg4gw." xmi:type="uml:Connector">
<end role="3cGo_6qAUEBg4gkc" xmi:id="5FbGQGqAUEBg4gw_" xmi:type="uml:ConnectorEnd">
<xmi:Extension extender="Visual Paradigm">
<modelType value="InteractionLifeLineLinkEnd"/>
<qualityScore value="-1"/>
</xmi:Extension>
</end>
<end role="Z2TGQGqAUEBg4gw5" xmi:id="5FbGQGqAUEBg4gxA" xmi:type="uml:ConnectorEnd">
<xmi:Extension extender="Visual Paradigm">
<modelType value="InteractionLifeLineLinkEnd"/>
<qualityScore value="-1"/>
</xmi:Extension>
</end>
<xmi:Extension extender="Visual Paradigm">
<modelType value="InteractionLifeLineLink"/>
<qualityScore value="-1"/>
</xmi:Extension>
<ownedRule constrainedElement="2SnGQGqAUEBg4gxK" name="Gift" xmi:id="1Cq2QGqAUEBg4gyh">
<specification body="(r>10) ^ (x*r=<200)" xmi:type="uml:OpaqueExpression"/>
<xmi:Extension extender="Visual Paradigm">
<qualityScore value="-1"/>
</xmi:Extension>
</ownedRule>
</ownedConnector>
<ownedAttribute name="Actor" xmi:id="nEWmv6qAUEBg4gWa_represents"/>
<xmi:Extension extender="Visual Paradigm">
<qualityScore value="-1"/>
</xmi:Extension>
</ownedBehavior>
</ownedMember>
<ownedMember name="entity" xmi:id="InteractionLifeLine_entity_id" xmi:type="uml:Stereotype">
<xmi:Extension extender="Visual Paradigm">
<baseType value="InteractionLifeLine"/>
<qualityScore value="-1"/>
</xmi:Extension>
</ownedMember>
<ownedMember name="boundary" xmi:id="InteractionLifeLine_boundary_id" xmi:type="uml:Stereotype">
<xmi:Extension extender="Visual Paradigm">
<baseType value="InteractionLifeLine"/>
<qualityScore value="-1"/>
</xmi:Extension>
</ownedMember>
</uml:Model>