易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : xml

NET面试题 – 组件开发人员 & XML开发人员

C#组件开发人员
什么时候使用override?什么时候使用new? 什么叫shadowing?
重写父类的方法的时候用override以实现多态,当你想屏蔽父类成员的时候使用new,shadowing基本就是new与override区别等一些方面的问题,个人认为弄清override与new就没有必要特意考虑shadowing。
解释virtual、sealed、override和abstract的区别?
virtual是声明虚方法的关键字,说明该方法可以被重写,sealed说明该类不可被继承,override重写基类的方法,abstract表明一个类是抽象类或者一个方法是抽象方法,抽象方法不提供实现,由子类中重写这个抽象方法的方法实现,抽象类不可实例化。
Foo.Bar, Version=2.0.205.0, Culture=neutral, PublicKeyToken=593777ae2d274679d 解释这个字符串每个部分的重要性和作用 ?
程序集的名字、版本(主版本、次版本、内部版本号、修订号)、Culture(文化)如zh-CN,公钥(缩略码),这些是强名程序集的标志。
解释public、protected、private和internal的区别。
标记public后可被在类的内部或外部访问,protected只能被其自身内部或其子类访问,private只能在其内部访问,internal只能在相同的程序集中被访问。
使用Primary Interop Assembly( ......

HTML DOM与XML DOM之间的区别与联系

像在座的各位一样,由于自身的兴趣,我对AJAX编程方面的研究是持续不断的。随着该领域的深入,我越来越发觉所谓的浏览器DOM,即HTML DOM,是一个非常值得关注的点。这观点在与同行们交换意见的时候也曾谈到过,就是,我们仍然缺乏具有深度的、规范的DOM Level 1辅助读物,网络上搜索也比较少见。而我们真实的想法在于,我们工作的时候不仅仅是去翻阅工具库/API那些高级的抽象内容。
因此我打算在本文中拨开其中的云雾,如果您乐于用“DOM-脚本”做很多的事,那么接下来课题内容就不容错过了。内容的主题便是,为什么开发者要认为“DOM Level 1规范的架构”是至关重要的,其突出的重要性在哪里等等,以及还有HTML DOM和XML之间微妙的区别,和内在的联系。
W3C所制订的DOM Level分为两大模块:Core和HTML。第一个大模块是Core核心,W3C规范是这样描述Core的:
“满足软件开发者和Web脚本编写者,访问和操控产品项目中包含的可解析的HTML和XML内容。”
"sufficicent to allow software developers and web script authora to access and mainipulate parsed HTML and XML content inside conforming products."
第二个HTML模块,其 ......

HTML DOM与XML DOM之间的区别与联系

像在座的各位一样,由于自身的兴趣,我对AJAX编程方面的研究是持续不断的。随着该领域的深入,我越来越发觉所谓的浏览器DOM,即HTML DOM,是一个非常值得关注的点。这观点在与同行们交换意见的时候也曾谈到过,就是,我们仍然缺乏具有深度的、规范的DOM Level 1辅助读物,网络上搜索也比较少见。而我们真实的想法在于,我们工作的时候不仅仅是去翻阅工具库/API那些高级的抽象内容。
因此我打算在本文中拨开其中的云雾,如果您乐于用“DOM-脚本”做很多的事,那么接下来课题内容就不容错过了。内容的主题便是,为什么开发者要认为“DOM Level 1规范的架构”是至关重要的,其突出的重要性在哪里等等,以及还有HTML DOM和XML之间微妙的区别,和内在的联系。
W3C所制订的DOM Level分为两大模块:Core和HTML。第一个大模块是Core核心,W3C规范是这样描述Core的:
“满足软件开发者和Web脚本编写者,访问和操控产品项目中包含的可解析的HTML和XML内容。”
"sufficicent to allow software developers and web script authora to access and mainipulate parsed HTML and XML content inside conforming products."
第二个HTML模块,其 ......

XML文档分割成小块

XML文档分割成小块
 
当你要把XML文档分割成小块时,你要读取输入文档,创建输出文档和转换子文档。不管是在C++还是FOAL中的脚本中,CMarkup都使它变得简单。对于很大的XML文档,在提取子文档是使用CMarkup读取文件模式就可用很少的内存读取它。
关键问题是,当你分割XML文档时你想在那个地方分割?可以是一个合乎逻辑的根目录划分成子文档,也可以简单的按照文件大小来划分,就像把一个ten million大小的对象划分成one million大小的。
下面的C++代码是把一个包含N million个对象的XML文档分割成N个包含1 million个对象的文件。
这是程序的思想:
· 声明两个Cmarkup类的对象,一个是要被分割的输入文档,一个是输出文档
· 在循环读取所有对象时先打开那个巨大的输入文档
· 使用输出文档数形式的文件名打开一个输出文档
· 把输入文档的对象子文档转化成输出文档,直到对象计数达到最大值
· 关闭输出文档,重置对象计数器,输出文档计数器++
· 如果还没有达到输入文档的结尾,像上面得方法那样打开一个新的输出文档
· 达到了输入文档的结尾,跳出循环,关闭输出文档,关闭输入文档
 
// Split XML
......

通过DataSet读取XML的效率问题

一直以来读取xml都是通过DataSet的ReadXML方法来解决,其他属性也都没有使用。在数据量小的时候倒也相安无事,直到今天读取一个20M的XML流才发现实在太影响效率了。
默认情况下,ReadXML缺省情况下使用XmlReadMode.Auto方式读取,用以前的作法,由于xml文件里没有包含Scheme,DataSet会先推断xml的结构,然后再加载数据。可是对一个20M的流推断其结构效率可想而知。如果XmlReadMode采用的是除Auto和InferSchema(同样根据数据推断结构)之外的成员,那么除了行数会相应增加外,内容都被忽略。
如何解决这个讨厌的问题呢,其实也很简单先给DataSet提供Schema(ReadXmlSchema方法),XmlReadMode设为IgnoreSchema即可。经过测试处理时间由几分钟提高到几秒。示例如下:
DataSet ds = new DataSet();
 using (StringReader sr = new StringReader( xxx ))
{
 ds.ReadXmlSchema(sr);
}
 ds.Tables[0].BeginLoadData();
 using (StringReader sr = new StringReader( xxx ))//(***)代表xml文件路径
{
 ds.ReadXml(sr, XmlReadMode.IgnoreSchema);
}
 ds.Tables[0].EndLoadData(); ......

由XML创建Dom Tree及保存

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.apache.batik.dom.svg.SAXSVGDocumentFactory;
import org.apache.batik.util.XMLResourceDescriptor;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class DomTree {
public Document doc;
public Element svg;
public DomTree(File file){
String parser=XMLResourceDescriptor.getXMLParserClassName();
SAXSVGDocumentFactory fac=new SAXSVGDocumentFactory(parser);

if(doc == null)
{
//异常点.............
......

C#操作XML的完整例子——XmlDocument篇

这是一个用c#控制台程序下,  用XmlDocument 进行XML操作的的例子,包含了查询、增加、修改、删除、保存的基本操作。较完整的描述了一个XML的整个操作流程。适合刚入门.net XML操作的朋友参考和学习。
假设有XML文件:books.xml
Xml代码:
<?xml version="1.0" encoding="UTF-8"?>
<books>
 <book>
  <name>哈里波特</name>
  <price>10</price>
  <memo>这是一本很好看的书。</memo>
 </book>
 <book id="B02">
  <name>三国演义</name>
  <price>10</price>
  <memo>四大名著之一。</memo>
 </book>
 <book id="B03">
  <name>水浒</name>
  <price>6</price>
  <memo>四大名著之一。</memo>
 </book>
 <book id="B04">
  <name>红楼</name>
  <price>5</price>
  <memo> ......

C#操作XML的完整例子——XmlDocument篇

这是一个用c#控制台程序下,  用XmlDocument 进行XML操作的的例子,包含了查询、增加、修改、删除、保存的基本操作。较完整的描述了一个XML的整个操作流程。适合刚入门.net XML操作的朋友参考和学习。
假设有XML文件:books.xml
Xml代码:
<?xml version="1.0" encoding="UTF-8"?>
<books>
 <book>
  <name>哈里波特</name>
  <price>10</price>
  <memo>这是一本很好看的书。</memo>
 </book>
 <book id="B02">
  <name>三国演义</name>
  <price>10</price>
  <memo>四大名著之一。</memo>
 </book>
 <book id="B03">
  <name>水浒</name>
  <price>6</price>
  <memo>四大名著之一。</memo>
 </book>
 <book id="B04">
  <name>红楼</name>
  <price>5</price>
  <memo> ......
总记录数:815; 总页数:136; 每页6 条; 首页 上一页 [62] [63] [64] [65] 66 [67] [68] [69] [70] [71]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号