我想让一个应用程序文件格式解析器&生成器。应用程序使用具有自定义DTD的xml文件。目前我正在考虑用nokogiri
编写对象映射器来将xml解析为对象,并使用这些对象来生成xml。我试过HappyMapper和xml-mapping,但他们没有使用完整的xml格式。所以目前我已经做到了这一点,但我认为这是有点糟糕的设计。XML到对象映射器
0
A
回答
-1
您可以使用C#与XMLSerilaizer,它是最好的。这里是例子:
---------------just a lot of entity ----------------------
using System;
namespace BuilderSerialization {
public class Address {
public Address() {}
public string Address1;
public string Address2;
public string City;
public string State;
public string Zip;
public string Country;
} }
using System;
namespace BuilderSerialization {
public class Author {
public Author() { }
public string FirstName;
public string MiddleName;
public string LastName;
public string Title;
public string Gender;
public Address AddressObject;
} }
namespace BuilderSerialization {
public class Book {
public Book() { }
public string Title;
public Author AuthorObject;
public string ISBN;
public double RetailPrice;
public string Publisher;
}}
-------------------------------------------------------
using System;
using System.Xml.Serialization;
using System.IO;
namespace BuilderSerialization {
class TestClass {
static void Main(string[] args) {
Book BookObject = new Book();
XmlSerializer ser = new XmlSerializer(typeof(Book));
TextWriter writer = new StreamWriter("booktest.xml");
BookObject.Title = "Practical LotusScript";
BookObject.ISBN = "1884777767 ";
BookObject.Publisher = "Manning Publications";
BookObject.RetailPrice = 43.95;
BookObject.AuthorObject = new Author();
BookObject.AuthorObject.FirstName = "Tony";
BookObject.AuthorObject.LastName = "Patton";
BookObject.AuthorObject.Gender = "Male";
BookObject.AuthorObject.AddressObject = new Address();
BookObject.AuthorObject.AddressObject.Address1 = "1 Main Street";
BookObject.AuthorObject.AddressObject.City = "Anywhere";
BookObject.AuthorObject.AddressObject.State = "KY";
BookObject.AuthorObject.AddressObject.Zip = "40000";
BookObject.AuthorObject.AddressObject.Country = "USA";
ser.Serialize(writer, BookObject);
writer.Close();
} } }
之后,你得到的XML:
<?xml version="1.0" encoding="utf-8"?>
<Book xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Title>Practical LotusScript</Title>
<AuthorObject>
<FirstName>Tony</FirstName>
<LastName>Patton</LastName>
<Gender>Male</Gender>
<AddressObject>
<Address1>1 Main Street</Address1>
<City>Anywhere</City>
<State>KY</State>
<Zip>40000</Zip>
<Country>USA</Country>
</AddressObject>
</AuthorObject>
<ISBN>1884777767 </ISBN>
<RetailPrice>43.95</RetailPrice>
<Publisher>Manning Publications</Publisher>
</Book>
+0
OP正在寻找一个Ruby解决方案。 –
+0
如果你认为ironruby是一种红宝石解决方案,它仍然可以工作。 –
相关问题
- 1. 对象Xml映射
- 2. 没有xml的简单对象到对象映射器?
- 3. XML的对象映射 - MOXy
- 4. XML-RPC对象映射
- 5. 如何将XML映射到C#对象
- 6. 将XML映射到无关对象
- 7. 通用XML到对象映射
- 8. 将XML映射到Java对象库
- 9. C++ XML到C++对象映射库?
- 10. 将XML实体映射到Java对象
- 11. 将XML映射到Ruby对象
- 12. XML到Bean映射:XML元素值到Bean设置映射器
- 13. 使用构建器(使用immutables注释处理器)将映射对象映射到不可变对象映射
- 14. ES6将对象映射到装饰器
- 15. 映射器:键值对象
- 16. 如何对象映射器时间戳映射到最新
- 17. 使用自动映射器将多个对象映射到一个对象
- 18. JSON到对象映射
- 19. 对象映射到位图
- 20. 将JSON映射到对象
- 21. RestTemplate映射到对象
- 22. 映射到json对象
- 23. 映射到JSON Java对象
- 24. gdata到java对象映射
- 25. 映射对象
- 26. 映射对象
- 27. SimpleFlatMapper对象到对象映射
- 28. Java将对象映射到对象 - Moo
- 29. 将JSON对象映射到Javascript对象
- 30. 如何映射的XML对象由RestTemplate
所以你有什么问题吗? –
我正在寻找最好的方法来做到这一点。现在我正在这样做:https://github.com/gcds/libeagle –
请在问题中包含您的源代码,而不是指向它的链接。如果/当链接打破你的问题将不会很有用。 –