0

我有一个如下的 xml 示例结构

<ManagementPack ContentReadable="true" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Manifest>
<Identity>
  <ID></ID>
  <Version></Version>
</Identity>
<Name></Name>
<References>
 <Reference Alias="SC">
    <ID></ID>
    <Version></Version>
    <PublicKeyToken></PublicKeyToken>
  </Reference>   
</References>
</Manifest>
<TypeDefinitions>
<EntityTypes>
  <ClassTypes>
    <ClassType ID="" Base="" Accessibility="" Abstract="" Hosted="" Singleton="" />
  </ClassTypes>
<RelationshipTypes>
    <RelationshipType ID="" Accessibility="" Base="" Abstract="">
      <Source></Source>
      <Target></Target>
    </RelationshipType>
   </RelationshipTypes>
</EntityTypes>
  </TypeDefinitions>
  <Monitoring>
<Discoveries>
  <Discovery ID="" Enabled="" Target="" ConfirmDelivery="" Remotable="" Priority="">
    <Category>Discovery</Category>
    <DiscoveryTypes />
    <DataSource ID="" TypeID="">
      <RuleId></RuleId>
      <GroupInstanceId></GroupInstanceId>
      <MembershipRules>
        <MembershipRule>
          <MonitoringClass></MonitoringClass>
          <RelationshipClass></RelationshipClass>
        </MembershipRule>
      </MembershipRules>
    </DataSource>
  </Discovery>
 </Discoveries>

.... 等等 我正在尝试生成这个 XML 结构。看来我可以使用访问者模式来管理它,但由于结构包含节点,访问者模式似乎还不够。我在http://c2.com/cgi/wiki?HierarchicalVisitorPattern偶然发现了分层访问者,但我无法创建示例。我的首要任务是减少 if-else 或 switch 语句。那么有没有关于分层访问者的 C# 示例实现或带有完整示例的简单解释?

4

0 回答 0