标签: xml-serialization

将Delphi对象树序列化为XML的好方法是什么 - 使用RTTI而不是自定义代码?

将Delphi对象树序列化为XML的好方法是什么 - 使用RTTI而不是自定义代码?

我本来希望发现这个功能已经内置到Delphi中,但它似乎并没有.

我发现了一些似乎可以执行此功能的组件(在下面发布).你有没有使用过它们或其他产品?你有自己的建造吗?我在Delphi中遗漏了一些明显的东西吗?

xml delphi serialization xml-serialization rtti

15
推荐指数
4
解决办法
1万
查看次数

Xml序列化与"真"和"假"

我遇到了使用布尔值反序列化XML文件的问题.我反序列化的源XML文件是从VB6应用程序创建的,其中所有布尔值都是大写的(True,False).当我尝试反序列化XML时,我得到了一个

System.FormatException: The string 'False' is not a valid Boolean value.
Run Code Online (Sandbox Code Playgroud)

有没有办法说用属性忽略大小写?

c# xml boolean xml-serialization

15
推荐指数
3
解决办法
2万
查看次数

什么是Jaxb等效的Text节点值?

我希望转换一个看起来像这样的类......

public class Amenity {
   public String id;
   public String value;
}
Run Code Online (Sandbox Code Playgroud)

使用JaxB注释将以下XML转换为以下XML:

<amenity id="id-string-here">value-string-here</amenity>
Run Code Online (Sandbox Code Playgroud)

有谁知道在value成员变量上使用什么注释来完成这个?我到目前为止最接近的是:

@XmlRootElement
public class Amenity {
   @XmlAttribute
   public String id;
   @XmlElement
   public String value;
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这种方法不允许我指定value不应将成员变量呈现为自己的标记<value></value>.

java annotations jaxb xml-serialization jaxb2

15
推荐指数
1
解决办法
1万
查看次数

在Objective-c/iPhone中创建自定义类可序列化?

如何使自己的自定义类可序列化?我特别想把它写到iPhone上的文件中,只是plist而你的类只是一个简单的实例类,只是NSStrings而且可能是NSUrl.

iphone serialization objective-c xml-serialization

15
推荐指数
1
解决办法
1万
查看次数

使用XML装饰在反序列化期间指定默认值

我有一个问题反序列化一些XML; 由第三方提供的XML非常冗长,因此如果没有为特定元素设置值,它将提供并清空元素(例如<element1 />).

这是某些元素的问题,例如,那些用于存储整数的元素.我可以控制第三方,所以我可以让他们指定默认值(<myinteger>0</myinteger>)或者我可以让他们完全省略这些元素.这两个都应该避免这个问题.

但是,将来可能会出现这样的情况,即我们没有那么多控制权 - 在这种情况下,是否有一种方法可以通过装饰指定默认值?

    [XmlElement("myinteger")=0???]
    public int MyInteger
    {
        get
        {
            return myInteger;
        }
        set
        {
            myInteger= value;
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# serialization xml-serialization default-value xml-deserialization

15
推荐指数
1
解决办法
2万
查看次数

我何时应该在.NET框架中使用XML序列化与二进制序列化?

我很困惑 - 我应该何时使用XML序列化,何时应该在.NET框架中使用二进制序列化?

.net c# serialization xml-serialization binary-serialization

15
推荐指数
2
解决办法
2万
查看次数

XML序列化,编码

using System;

public class clsPerson
{
  public  string FirstName;
  public  string MI;
  public  string LastName;
}

class class1
{ 
   static void Main(string[] args)
   {
      clsPerson p=new clsPerson();
      p.FirstName = "Jeff";
      p.MI = "A";
      p.LastName = "Price";
      System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
      x.Serialize(Console.Out, p);
      Console.WriteLine();
      Console.ReadLine();
   }
} 
Run Code Online (Sandbox Code Playgroud)

取自http://support.microsoft.com/kb/815813

1)

System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
Run Code Online (Sandbox Code Playgroud)

这条线做什么?什么是GetType()?

2)如何获得编码

<?xml version="1.0" encoding="utf-8"?>
< clsPerson xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
Run Code Online (Sandbox Code Playgroud)

代替

<?xml version="1.0" encoding="IBM437"?>
 <clsPerson xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3
 .org/2001/XMLSchema">
Run Code Online (Sandbox Code Playgroud)

或者根本不包括编码类型?

c# xml asp.net web-services xml-serialization

15
推荐指数
2
解决办法
4万
查看次数

使用简单XML框架反序列化的异常

我正面临一个问题,即使用Simple XML Serialization框架(simpleframework.org)成功序列化的XML文件反序列.

一个例外抛出:

org.simpleframework.xml.core.PersistenceException: Constructor not matched for class projet.sarelo.Note
Run Code Online (Sandbox Code Playgroud)

这是电话:

Serializer serializer = new Persister();
File xmlFile = new File(path);
ContactList contactList = serializer.read(ContactList.class, xmlFile); <== Error
Run Code Online (Sandbox Code Playgroud)

我的ContactList.java

@Root(strict=false, name="ContacList")
public class ContactList {      
    @ElementArray (name = "Contacts")
    Contact [] contact;     
}   
Run Code Online (Sandbox Code Playgroud)

我的Note.java

public class Note {
    @Element(required=false)
    private String note;

    public Note(String note) {
        super();
        this.note = note;
    }

    public String getNote() {
        return note;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的Contact.java

@Root
public class …
Run Code Online (Sandbox Code Playgroud)

java android xml-serialization

15
推荐指数
2
解决办法
8059
查看次数

XML文档中存在错误(2,2).这是什么意思?

我正在尝试阅读XML文档.我的XML:

<?xml version="1.0" encoding="utf-8"?>
<SplashScreen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Path>SplashScreen/Image-King</Path>
</SplashScreen>
Run Code Online (Sandbox Code Playgroud)

我的代码是读取XML:

XmlGameScreen = new XmlManager<GameScreen>();
XmlGameScreen.Type = currentscreen.Type;
currentscreen = XmlGameScreen.Load("LoadXML/SplashScreen.xml");
Run Code Online (Sandbox Code Playgroud)

public Type Type;
public T Load(string path)
{
    T instance;
    using (TextReader textreader = new StreamReader(path))
    {

        XmlSerializer xml = new XmlSerializer(Type);
        instance = (T)xml.Deserialize(textreader);
    }
    return instance; 
}
Run Code Online (Sandbox Code Playgroud)

我收到错误instance = (T)xml.Deserialize(textreader);我的XML文档是错误的吗?我想读<Path>.更新:我的内部异常:无法序列化'MyRPGgame.SplashScreen._image'类型成员'Microsoft.Xna.Framework.Graphics.Texture2D'

.net c# xml xml-serialization

15
推荐指数
2
解决办法
3万
查看次数

.NET序列化排序

我试图使用XmlSerializer和继承序列化一些对象,但我在排序结果时遇到了一些问题.

下面是一个类似于我设置的示例:〜

public class SerializableBase
{
    [XmlElement(Order = 1)]
    public bool Property1 { get; set;}

    [XmlElement(Order = 3)]
    public bool Property3 { get; set;}
}

[XmlRoot("Object")]
public class SerializableObject1 : SerializableBase
{
}

[XmlRoot("Object")]
public class SerializableObject2 : SerializableBase
{
    [XmlElement(Order = 2)]
    public bool Property2 { get; set;}
}
Run Code Online (Sandbox Code Playgroud)

我想要的结果如下:〜

<Object>
    <Property1></Property1>
    <Property2></Property2>
    <Property3></Property3>
</Object>
Run Code Online (Sandbox Code Playgroud)

但是我得到的结果是:〜

<Object>
    <Property1></Property1>
    <Property3></Property3>
    <Property2></Property2>
</Object>
Run Code Online (Sandbox Code Playgroud)

有谁知道它是否可能或任何替代方案?

谢谢

c# xml serialization xml-serialization

14
推荐指数
3
解决办法
2万
查看次数