xml 相关问题

可扩展标记语言(XML)是一种灵活的结构化文档格式,用于定义人类和机器可读的编码规则。

为什么我无法获取xml标签属性

所以我试图编写一个读取 xml 文件的测试代码,但由于某种原因我无法获取标签属性,请帮忙 Python 从 xml.dom.minidom 导入 * playerxml = parse('C:/Users/dimit/AppData/Lo...

回答 1 投票 0

java或xml代码有问题吗

这是java代码: 包 com.daniel.bmicalculator; 导入 android.os.Bundle; 导入 androidx.activity.EdgeToEdge; 导入 androidx.appcompat.app.AppCompatActivity; 导入 androidx.core.graph...

回答 1 投票 0

Python 将嵌套 XML 与未排序的兄弟姐妹一起排序

我需要使用 Elementtree 按 reqdate 对以下示例 XML 的“行”元素进行排序(desc - 从最新到最旧)。 1234 我需要使用 Elementtree 按 reqdate 对以下示例 XML 的“行”元素进行排序(desc - 从最近到最旧)。 <doc> <header> <ordernum>1234</ordernum> <customer>1</customer> <line> <lineno>1</lineno> <reqdat>2024-01-01</reqdat> </line> <line> <lineno>2</lineno> <reqdat>2024-03-01</reqdat> </line> <line> <lineno>3</lineno> <reqdat>2024-02-01</reqdat> </line> </header> </doc> 我正在寻找的结果如下。 <doc> <header> <ordernum>1234</ordernum> <customer>1</customer> <line> <lineno>2</lineno> <reqdat>2024-03-01</reqdat> </line> <line> <lineno>3</lineno> <reqdat>2024-02-01</reqdat> </line> <line> <lineno>1</lineno> <reqdat>2024-01-01</reqdat> </line> </header> </doc> 用例是将其发送到使用 XML 中的顺序的打印机,并且需要按此顺序打印各行。 我正在尝试排序函数和 lambda 排序,但还没有弄清楚。 尝试: import xml.etree.ElementTree as ET xml_string = """ <doc> <header> <ordernum>1234</ordernum> <customer>1</customer> <line> <lineno>1</lineno> <reqdat>2024-01-01</reqdat> </line> <line> <lineno>2</lineno> <reqdat>2024-03-01</reqdat> </line> <line> <lineno>3</lineno> <reqdat>2024-02-01</reqdat> </line> </header> </doc> """ root = ET.fromstring(xml_string) header = root.find(".//header") lines = header.findall(".//line") lines = sorted(lines, key=lambda tag: tag.find("reqdat").text, reverse=True) for l in list(header): if l.tag == "line": header.remove(l) for l in lines: header.append(l) print(ET.tostring(root, encoding="unicode")) 打印: <doc> <header> <ordernum>1234</ordernum> <customer>1</customer> <line> <lineno>2</lineno> <reqdat>2024-03-01</reqdat> </line> <line> <lineno>3</lineno> <reqdat>2024-02-01</reqdat> </line> <line> <lineno>1</lineno> <reqdat>2024-01-01</reqdat> </line> </header> </doc>

回答 1 投票 0

需要使用<xsl:each>

我需要使用 从多个 PlanDetail 中获取描述值 1 ...

回答 1 投票 0

如何在 C# 中仅从 DateTime 序列化 Xml Date

我有以下简单的课程; 生日 { 公共 DateTime 出生日期 {get;set;} 公共字符串名称 {get;set;} } 然后我使用以下命令将对象序列化为 Xml: 尝试 { XmlSerializer 序列化器 =...

回答 2 投票 0

Odoo 16 使用 XPath 将字段设为只读

我目前正在使用odoo 16,我在其中创建了一个自定义字段并尝试将该字段设为只读。仅当非管理员用户登录时才应显示只读字段 这是我的...

回答 1 投票 0

XmlWriter 将所有内容写入一行

我正在编写一个 XML 文件,但是当我去读取它时,它都在同一行。 有人可以看看我的代码并让知道为什么它全部出现在同一行而不是正确的

回答 1 投票 0

Javascript Document.evaluate 在 XPath 中因“name()”而失败

我尝试将 Javascript 文档评估函数与使用 name() / local-name() 函数的有效 XPath 一起使用,但在 Jfiddle 中始终出现以下错误: 字符串 '/

回答 1 投票 0

Azure 数据工厂复制活动仅导入 XML 文件的第一行

我有一个 XML 文件,正在使用 Azure 管道数据复制活动将其导入到 SQL 表中。该文件导入正常,但仅将第一行导入到 SQL 表中。这并不意味着...

回答 1 投票 0


Mybatis Mapper 中 Postgres && 语句错误?

我有一个正在工作的 postgres 查询,我正在尝试在 Mybatis 中设置它,但不断收到语法错误。在我的 PgAdmin 中工作的查询,我想在 Mybatis 中实现,检查是否有...

回答 1 投票 0

我的代码是否有错误或者与我的 Firefox 12 浏览器有关?

我从教程中复制了以下代码,但仍然无法弄清楚我是否在某个地方犯了错误,或者是否与浏览器支持有关。 <question vote="0"> <p>我从教程中复制了以下代码,但仍然无法弄清楚我是否在某个地方犯了错误,或者是否与浏览器支持有关。</p> <pre><code>&lt;html&gt; &lt;head&gt; &lt;script type=&#34;text/javascript&#34;&gt; function loadXMLDoc(dname) { if(window.XMLHttpRequest) { xhttp = new XMLHttpRequest(); } else { xttp = new ActiveXObject(&#34;Microsoft.XMLHTTP&#34;); } xhttp.open(&#34;GET&#34;, dname, false); xhttp.send(); return xhttp.responseXML; } function change(text) { var xmlDoc = loadXMLDoc(&#34;dom.xml&#34;); var x = xmlDoc.getElementsByTagName(&#34;title&#34;)[0].childNodes[0]; x.nodeValue = text; var y = xmlDoc.getElementsByTagName(&#34;title&#34;); for(i=0; i&lt;y.length; i++) { document.write(y[i].childNodes[0].nodeValue+&#34;&lt;br /&gt;&#34;); } } function remove(node) { xmlDoc = loadXMLDoc(&#34;dom.xml&#34;); var y = xmlDoc.getElementsByTagName(node)[0]; xmlDoc.documentElement.removeChild(y); alert(&#34;The element &#34;+node+&#34; has been removed!&#34;); } function prove(u) { var x = xmlDoc.getElementsByTagName(u); for (i=0; i&lt;x.length; i++) { document.write(x[i].childNodes[0].nodeValue); document.write(&#34;&lt;br /&gt;&#34;); } &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;input type=&#34;button&#34; value=&#34;remove&#34; onclick=&#34;remove(&#39;book&#39;)&#34; /&gt; &lt;input type=&#34;button&#34; value=&#34;prove it&#34; onclick=&#34;prove(&#39;book&#39;)&#34; /&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <h2>更新</h2> <p>这是一个可能有帮助的 XML 文件:</p> <pre><code>&lt;?xml version=&#34;1.0&#34; encoding=&#34;ISO-8859-1&#34;?&gt; &lt;bookstore&gt; &lt;book category=&#34;cooking&#34;&gt; &lt;title lang=&#34;en&#34;&gt;Everyday Italian&lt;/title&gt; &lt;author&gt;Giada&lt;/author&gt; &lt;year&gt;2005&lt;/year&gt; &lt;price&gt;30.00&lt;/price&gt; &lt;/book&gt; &lt;book category=&#34;cooking&#34;&gt; &lt;title lang=&#34;en&#34;&gt;Book 2&lt;/title&gt; &lt;author&gt;Giada&lt;/author&gt; &lt;year&gt;2005&lt;/year&gt; &lt;price&gt;30.00&lt;/price&gt; &lt;/book&gt; &lt;book category=&#34;cooking&#34;&gt; &lt;title lang=&#34;en&#34;&gt;Book 3&lt;/title&gt; &lt;author&gt;Giada&lt;/author&gt; &lt;year&gt;2005&lt;/year&gt; &lt;price&gt;30.00&lt;/price&gt; &lt;/book&gt; &lt;/bookstore&gt; </code></pre> </question> <answer tick="true" vote="1"> <p>我认为问题可能是因为<pre><code>document.write</code></pre></p> <blockquote> <p>页面完成加载后运行的任何 document.write 语句 将创建一个新页面并覆盖当前页面的所有内容 页。</p> </blockquote> <p>证明函数的<pre><code>}</code></pre>语句后面还缺少一个<pre><code>for</code></pre></p> <p>尝试在 <pre><code>innerHTML</code></pre> 或某些 html 元素上使用 <pre><code>div</code></pre> 来解决此问题。</p> <p>除此之外,我没有发现您的代码有任何问题</p> </answer> <answer tick="false" vote="0"> <p>该脚本正在查找名为“dom.xml”的文件 </p> <p>如果将该文件放在与上面页面相同的目录中,您将得到不同的结果。</p> </answer> <answer tick="false" vote="0"> <p>看起来您缺少最后一个函数证明或 for 循环的括号。</p> <p>您也可能想声明</p> <pre><code>var xmlDoc = loadXMLDoc(&#34;dom.xml&#34;); </code></pre> <p>在每个函数之外,或者将其添加到proof()</p> </answer> </body></html>

回答 0 投票 0

如何修复 XML“开始和结束标记不匹配错误”?

我正在尝试修复包含数千行错误的 XML 文件: 开始和结束标记不匹配错误 我现在正在使用 simpleXML 来解析这个文件,所以在用这个库解析之前......

回答 3 投票 0

对 XML 中的不同对象使用相似的标签

我想定义几种非继承的对象类型。我想知道是否可以在 XML 中为它们使用类似的标签。有些对象没有通用标签。 例如,标签“name”b...

xml
回答 1 投票 0

PyCharm XML 文件的自定义语法突出显示

我有许多 XML 文件,其中包含具有以下语法的参数: #[whatever] 在运行时但扫描之前被替换为值

回答 2 投票 0

ACA AIR XML 生成 - SoftwareId 是必填字段吗?

因此,在 ACA AIR XML 的清单文件中,有一个名为 SoftwareId 的字段。我知道这是什么,但是你必须有这个字段吗?如果您是发行人并且您创建自己的 XML 并且不使用任何

回答 2 投票 0

错误:找不到符号View root = inflater.inflate(R.layout.toolbar,parent,false);

我使用数据绑定来连接UI,但是当我重建项目时,出现以下错误: 错误:找不到符号 View root = inflater.inflate(R.layout.toolbar, Parent, false); ...

回答 1 投票 0

我无法删除 android studio 中导航视图图标下方的空间。代码有什么问题吗?

我包括我的代码供您参考,还有应用程序启动时的屏幕。 我提供了我的代码供您参考,还有应用程序启动时的屏幕。 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="bottom" android:orientation="vertical" android:padding="0dp" tools:context=".dashboard"> <com.google.android.material.bottomnavigation.BottomNavigationView android:layout_width="match_parent" android:layout_height="60dp" android:background="#6000BCD4" android:padding="0dp" app:itemIconSize="20dp" app:itemPaddingBottom="0dp" app:itemPaddingTop="0dp" app:menu="@menu/bottom_nav_value" /> </LinearLayout> 我想删除导航视图图标下方的额外间距。 使用下面的代码并使用相对布局而不是线性布局。 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent"> <com.google.android.material.bottomnavigation.BottomNavigationView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/nav_view" android:background="#6000BCD4" app:elevation="4dp" app:labelVisibilityMode="auto" app:itemHorizontalTranslationEnabled = "false" android:layout_alignParentBottom="true" app:itemIconSize="23sp" app:menu="@menu/bottom_nav_menu"/> </RelativeLayout>

回答 1 投票 0

使用可选的不同名称反序列化 XML

我有这个类的定义 公共课 Foo { } 反序列化为这个 xml 我有这个类的定义 public class Foo { } 反序列化到这个 xml 中 <?xml version="1.0"?> <Foo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> </Foo> 此 xml 文件布局已存在于客户端计算机上。 我想将班级从 Foo 重命名为 Footastic。 public class Footastic { } 现在称为类 Footastic 的任何新序列化,都应序列化为 <?xml version="1.0"?> <Footastic xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> </Footastic> 我的问题是如何告诉反序列化接受Foo或Footastic? 我知道我可以通过指定 Footastic 属性将 Foo“重命名”为 XmlRoot。 [XmlRoot("Foo")] public class Footastic { } 但这也会改变对象的任何新序列化,这是不希望的。 新的序列化应序列化为 Footastic 反序列化时仅支持包含旧名称 Foo 的旧 xml 文件。以防万一您需要反序列化/序列化的代码。我真的没有做任何花哨的事情。 反序列化: Footastic 序列化: public static T? Deserialize<T>(string fileName) { if (!File.Exists(fileName)) return default; using FileStream streamReader = new(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); using var xr = XmlReader.Create(streamReader); XmlSerializer xmlDeSerializer = new(typeof(T)); return (T?)xmlDeSerializer.Deserialize(xr); } 尝试以下方法。 创建一个自定义 XML 阅读器,即时将名称 public static void Serialize<T>(T? value, string fileName) { if (value is null) return; Directory.CreateDirectory(Path.GetDirectoryName(fileName) ?? ""); using FileStream fileStream = new(fileName, FileMode.Create, FileAccess.Write, FileShare.Write); using var streamWriter = XmlWriter.Create(fileStream, new() { Encoding = Encoding.UTF8, Indent = true }); XmlSerializer xmlSerializer = new(typeof(T)); xmlSerializer.Serialize(streamWriter, value); } 替换为 Foo。Footastic 像这样使用它。 public class FooReader : XmlTextReader { // Add other constructor overloads as needed. public FooReader(string url) : base(url) { } public override string LocalName { get { if (base.LocalName == "Foo") return "Footastic"; return base.LocalName; } } } 这将接受 var ser = new XmlSerializer(typeof(Footastic)); using var fooReader = new FooReader("test.xml"); var foo = (Footastic)ser.Deserialize(fooReader); 和 Foo。不过,要小心!这将替换所有 Foo 元素! 如果其他地方的 xml 中存在同名元素,那么您需要进行额外的检查。

回答 1 投票 0

如何使用 yq 解析 XML?

嗨,我想使用 yq 解析服务器名称,问题是每次我都必须指定每个服务器的索引,如果这是一种在不指定的情况下获取服务器名称的方法...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.