jjzjj

xmlreader

全部标签

php - 使用 XMLReader 和 PHP 获取 XML 属性

我不明白为什么我不能引用XML属性“headendId”。我已经引用了几篇关于此的文章,我的语法似乎没问题?有人可以解释我做错了什么吗?提前致谢。open('file.xml');while($reader->read()){if($reader->nodeType==XMLREADER::ELEMENT&&$reader->localName=='headend'){//$reader->read();$headend=(string)$reader->getAttribute('headendId');echo$headend;}}(xml是)somenameidscodes

c# - 使用XMLReader读取大型XML文档将信息解析成类

我一直在结合使用XDocument和LINQtoXML加载xml文件并填充我的类。但现在我的任务是确保我的程序可以处理所有大小的XML文档,这意味着我需要使用XMLReader,而此时我无法全神贯注地操纵XMLReader来填充我的类。目前我要填充以下类:publicclassDataRecord{privateListfield=newList();publicstringID{get;set;}publicstringTotalLength{get;set;}publicListMyProperty{get{returnfield;}set{field=value;}}}inter

c# - 为什么我的新 XmlTextReader(stream) 以数兆字节读入内存而不是正确地流式传输?

当以XML格式流式传输到XmlReader时,出现内存不足异常!查看内存分析器,我们可以看到它一遍又一遍地调用StringBuilder.Append,导致大量128KB缓冲区填满所有内存。这与“流”完全相反。它不应加载超过一个4KB的缓冲区。 最佳答案 通读.NET源代码,发现有一种“v1compat”模式确实会超前读取,违背了流式传输的目的。那么,如何避免让它进入那种愚蠢的模式呢?事实证明,调用“newXmlTextReader(stream)”和“XmlReader.Create(stream)”之间存在巨大差异,Micros

.net - 使用 .NET 读取压缩的 xml

案例:有一个大的压缩xml文件需要由.NET程序解析。主要问题是文件太大,无法在内存中完全加载和解压缩。文件需要以解压缩这些部分后“一致”的方式逐部分读取。如果一个部分仅包含一个节点的一半,则将无法在任何xml结构中进行解析。我们将不胜感激。:)编辑:当前的解决方案是逐部分提取整个zip文件,并将其作为xml文件写入磁盘。然后读取并解析xml。到目前为止,我的网站没有更好的想法:)。 最佳答案 使用DotNetZip你可以这样做:using(varzip=ZipFile.Read("c:\\data\\zipfile.zip")){

c# - XML/C# : Read content if only if attribute is correct

我有一个如下所示的XML文件,我正在尝试读取Name标签的内容,前提是Record标签的属性是我想要的。(下面继续代码)XML文件是:JohnDoe12900310JaneDoe12510310这是我目前的C#代码:publicstaticstringGetName(intEmployeeNumber){XmlTextReaderDataReader=newXmlTextReader("Database.xml");DataReader.MoveToContent();while(DataReader.Read()){if(DataReader.NodeType==XmlNodeTyp

Java XMLReader 在 XML 中的特殊字符上获取 SAXParseException

我在解析XML文件时遇到问题,该文件在元素的属性中包含“、或&等特殊字符。目前我使用带有自己的ContentHandler的XMLReader。不幸的是,更改XML不是一个选项,因为我得到一大堆文件。知道我能做什么吗??最好! 最佳答案 您必须更改XML才能使其格式正确。这五个魔术字符必须正确编码或包装在CDATA部分中,以告诉解析器允许它们通过。如果这五个魔术字符没有正确编码,您就不会收到格式正确的XML。这应该是您与用户签订契约(Contract)的基础。进行一次性更改。 关于Jav

c# - 解析 XML 时处理速记结束标记

为了简单起见,我将大幅降低项目的复杂性,并提供一个简单但同样准确的示例来说明我正在努力解决的问题。我有两个XML文件,我们称它们为Read.xml和Write.xml.目标是让我的项目读取Read.xml的内容,将XML解析为一个类,然后将其重建为Write.xml。XML生成到Read.xml中的方式是这样的,当一个元素没有值时,它使用简写结束标记(),当它有值时,它使用普通结束标记(ElementValue)。我无法控制Read.xml中XML的生成。只要使用普通结束标记,下面的代码就可以完美地解析XML。但是,如果说ReportId下面是有速记结束标记,现在的代码将读取下一行(对

php - 如何使用 PHP 解析带有冒号标记的 XML 节点

我正在尝试从[此URL(加载需要相当长的时间)][1]获取以下节点的值。我感兴趣的元素是:title,g:priceandg:gtinXML的开头是这样的:PhotoSpecialist.dehttp://www.photospecialist.deBEN107CBenboTrekkerMk3+Kugelkopf+TascheBenboTrekkerMk3+Kugelkopf+TascheDasBenboTrekkerMk3isteineleichteVariantedesbeliebtenBenbo1.SeingeringesGewichtmachtdasTrekkerMk3zumi

c# - 复制 xml 文件并在特定位置插入新元素 - C#

您好,我想复制一个xml文件并在特定元素位置插入更多元素;这样做最好和最简单的方法是什么。我可以使用xmlReader读取元素并一个一个地写入每个类型-我对此有一些问题,但除此之外,在我看来,这似乎是可以以某种方式更好地完成的工作。在下面的示例中,我将xml作为默认定义,需要以相同的格式创建一个新的xml,并将新值插入到sheet1-但在现有行之后,并对sheet2执行相同的操作。TitleNameTitleDescriptionTitleNameTitleDescription 最佳答案 在我看来,最简单的方法是使用LINQtoX

asp.net - 如何检查 XML 文件中属性的唯一性

如果我有一个XML文件,并且我想检查每个元素的属性id的唯一性,如下面的文档:我想检查id属性是否唯一。 最佳答案 假设您不能将它添加到架构中,您可以为此使用LINQtoXML:varallIds=doc.Descendants().Select(x=>x.Attribute("id")).Where(x=>x!=null).Select(x=>x.Value).ToList();varallDistinct=allIds.Count==allIds.Distinct().Count();