易截截图软件、单文件、免安装、纯绿色、仅160KB

一个C# xml 序列化错误

一个C# xml 序列化错误
 
事发现场:
xml序列化的数据中存储的节点数据是
   <Module>536870912</Module>  (xml文件中)
对应的类属性是
    public short Module { get; set; }  (C#类中)
 
序列化的代码:
public static FMDSTimeSeriesDefinitionList Deserialize(string xml)
{
XmlSerializer serializer = new XmlSerializer(typeof(FMDSTimeSeriesDefinitionList));
/* If the XML document has been altered with unknown
nodes or attributes, handle them with the
UnknownNode and UnknownAttribute events.*/
serializer.UnknownNode += new
XmlNodeEventHandler(serializer_UnknownNode);
serializer.UnknownAttribute += new
XmlAttributeEventHandler(serializer_UnknownAttribute);
FMDSTimeSeriesDefinitionList tsList = null;
using (StringReader sr = new StringReader(xml))
{
try
{
tsList = (FMDSTimeSeriesDefinitionList)serializer.Deserialize(sr);
}
catch (Exception ex)
{
throw ex;
}
}
return tsList;
}
 
 
调试时会弹出异常信息:
An unhandled exception of type 'System.InvalidOperationException' occurred in FMTimeSeriesDefinition.exe
Additional information: There is an error in XML document (293, 8).
找到xml文件的293行第8列:
292:      <Module>536870912</Module>
293:      <DurationPeriodsFlag>1</DurationPeriodsFlag>
294:      <DecimalFlag>0</DecimalFlag>
 
是一个"<"标记符,看不出问题,再看前一个节点,突然发现536870912 存入short中,数据溢出。
将short改为int,问题解决。


相关文档:

读写XML文件

原文:使用 MSXML 分析器处理 XML 文档
#include <atlbase.h>
#include <iostream>
using namespace std;
//<?xml version="1.0"?>
//<xmldata>
    //<xmlnode />
    //<xmltext>Hello, World!</xmltext>
//</xmldata>
void main ......

怎样将XML的Document 转换成 String

import java.io.StringWriter;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.apache.xerces.dom.DocumentImpl;
import org.apache.xerces.dom.DOMImplementationImpl;
import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.Serializer;
import org.apache.xml. ......

转藏:Perl 处理XML XML::Parser::Expat

当在Perl中使用XML时,你会有将近五百个CPAN模块可以选择,每一个都支持整合Web服务的不同方面。此外,Perl的核心库包括多个支持XML的模块。这篇文章就关注于一个最早期且涉及最频繁的核心模块:XML::Parser.
XML::解析器系列
最初的Perl解析器XML::Parser::Expat由Larry Wall在几年前编写并由Clark Cooper保持延续。模 ......

ArrayList从xml读取数据

ArrayAdapter adapter =
ArrayAdapter.createfromResource(
this,
R.array.catalog,
android.R.layout.simple_list_item_1);

this.setListAdapter(adapter); 
xml文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name= ......

HTML,XML,UML 简介

HTML,XML,UML 简介
 
HTML (HyperText Mark-up Language)超文本标记语言  是WWW的描述语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。HTML文本是由HTML命令组成的 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号