我找到一个整合的产品xml,通过调用另一个.net应用程序来获得。 Xml包含P1,P2,P3等各种子产品的数据。我需要编写一个C#程序来解析xml,然后将其分解为三个单独的xmls..i.e.one,用于每个子产品P1,P2,P3 ....等。用于解析每个子产品的xml的业务规则(或标准)是不同的。正确的设计方法:解析xml
在未来,输入XML可能还包含新的额外的子产品信息P4,P5等 所以我需要打破这种XML到这些新的子产品为好。
从模块设计的角度来看,子产品类型及其解析标准应该是可扩展和可配置的。这样当需要处理新的子产品时,只需要更改配置,不需要更改代码是必须的。
所以我想到了以下的方法。它听起来够好吗?
1.在数据库中添加一个名为T的新查找表。
2.增加3列:ID(INT),子产品名称(VARCHAR),标准(VARCHAR)
3.To配置子产品说P1在数据库中,则该行可能看起来像如如下:
1--P1--ProductType='XYZ'|ProductCategory='ABC'|
2--P2--....
3--P3--...
这里,ProductType和产品分类在输入有效的XML元素名称。
4.然后在C#程序,进程使用反射并应用对所述输入XML规则以获得对于相应的子产品名称即P1 XML中的标准列值..
感谢。
我喜欢通过设计数据库体系结构来开始一个项目。拥有一个好的数据库总是会使编码的其余部分变得更加容易。我还希望使用c#中的数据表作为数据库与其余c#代码之间的主要接口。从数据表中,您可以轻松地将结果显示给DGV.Also使用数据表Read/WriteXml()方法将数据读/写到xml文件中。如果WriteXml数据表的方法目前不相同,我还会更改当前xml文件的结构以匹配。从您的描述中无法告诉您的方法是一样的,但我认为它接近我的。 – jdweng