可扩展标记语言(XML)是一种灵活的结构化文档格式,用于定义人类和机器可读的编码规则。
我无法创建 xsd 文件来验证评论元素。 元素“comment”可以包含文本和可选子元素 , , 子元素可以嵌套... 我无法创建 xsd 文件来验证评论元素。 元素“comment”可以包含文本和可选子元素<b>, <i>, <ul> 子元素可以嵌套并出现多次 评论内容必须有长度限制(60) 我能够满足 1. 和 2.,但如何添加长度限制? 非常感谢您的帮助! 安德烈亚斯 <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="Test"> <xs:complexType> <xs:sequence> <xs:element name="comment" type="FormattedText" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="FormattedText" mixed="true"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="b" minOccurs="0" /> <xs:element ref="i" minOccurs="0" /> <xs:element ref="ul" minOccurs="0" /> </xs:choice> </xs:complexType> <xs:complexType name="ULType"> <xs:sequence> <xs:element name="li" minOccurs="1" maxOccurs="unbounded"> <xs:complexType mixed="true"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="b" minOccurs="0" /> <xs:element ref="i" minOccurs="0" /> <xs:element ref="ul" minOccurs="0" /> </xs:choice> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:element name="b" type="FormattedText" /> <xs:element name="i" type="FormattedText" /> <xs:element name="ul" type="ULType" /> </xs:schema> 这是 xml 的示例: <?xml version="1.0" encoding="UTF-8"?> <Test> <comment> Abstellorte: <ul> <li>Hinter <b>To<i>r</i></b></li> <li>Am <i>Fenster</i></li> </ul> </comment> </Test> 您可以在 XSD 1.1 中使用断言来执行此操作:test="string-length(.) le 60"。在 XSD 1.0 中无法完成。
eclipse 中的 SaxParseException:XML 文档结构必须在同一实体内开始和结束
我正在使用JAVA的last.fm API,可以在这里找到。 我有一个巨大的数据集,其中我仅使用包含用户艺术家历史和播放的文件。我用Java编写了一段代码,其中扩展...
MuleSoft Dataweave JSON 到 XML,重新集成 writeAttributes=true 中的属性
我使用 writeAttributes=true 属性将 XML 片段转换为 JSON。 XML: 荷马 我使用 writeAttributes=true 属性将 XML 片段转换为 JSON。 XML: <family surname="Simpsons"> <father age="42">Homer</father> <mother age="41">Marge</mother> <children> <child age="9">Bart</child> <child age="8">Lisa</child> <child age="1">Maggie</child> </children> </family> 数据编织: %dw 2.0 output application/json writeAttributes=true, duplicateKeyAsArray=true --- payload 生成的 JSON: { "family": { "@surname": "Simpsons", "father": { "@age": "42", "__text": "Homer" }, "mother": { "@age": "41", "__text": "Marge" }, "children": { "child": [ { "@age": "9", "__text": "Bart" }, { "@age": "8", "__text": "Lisa" }, { "@age": "1", "__text": "Maggie" } ] } } } XML 属性和值通过使用修改后的键保留在 JSON 中:“@key”表示属性,“__text”表示值。 虽然使用 writeAttributes writer 属性从 XML 到 JSON 的操作非常简单,但似乎没有等效的方法可以执行相反的操作。 使用这种结果格式,我想将类似的 JSON 转换为原始 XML。 将 JSON 转换回 XML 并重新集成属性的最简单方法是什么? 编辑: 在上面生成的 JSON 负载上使用aled的变换here,我能够得到接近的结果,但子数组元素没有重新获取年龄属性。 aled 的 DataWeave: %dw 2.0 output application/xml fun getAttributes(x) = x match { case is Object -> x filterObject ($$ as String startsWith "@") mapObject ((value, key, index) -> (key[1 to -1] ): value) else -> $ } fun convertToAttributes(x) = x match { case is Object -> x filterObject !($$ as String startsWith "@") mapObject ($$) @((getAttributes($))): convertToAttributes($) case is Array -> x map convertToAttributes($) else -> $ } --- convertToAttributes(payload) 生成的 XML: <?xml version='1.0' encoding='UTF-8'?> <family surname="Simpsons"> <father age="42">Homer</father> <mother age="41">Marge</mother> <children> <child>Bart</child> <child>Lisa</child> <child>Maggie</child> </children> </family> __text 以某种方式成为变换过程中的值。 我不确定为什么它没有获取数组中的年龄。 试试这个: %dw 2.0 output application/xml --- { family @(surname: payload.family.'@surname'): { father @(age: payload.family.father.'@age'): payload.family.father.'__text', mother @(age: payload.family.mother.'@age'): payload.family.mother.'__text', children: { (payload.family.children.child map (child) -> { child @(age: child.'@age'): child.'__text' }) } } }
我在.net中有网络服务。当我从数据库检索数据时,它会在 Android Mobile 中返回 JSON 文件。如何将 JSON 文件转换为 XML 或文本。
XSLT 3.0 处理 JSON:函数与模板:哪个更好? (需要指标和优雅的解决方案)
我采纳了 @Michael Kay 在如何使用 XSLT 将 JSON 转换为 XML?当他说: XSLT 3.0 实际上并不擅长使用模板处理 JSON 规则:可以做到,但事实并非如此
DataView RowFilter 使用 XML 的日期时间
我有 xml feed 作为 12667274 2024 年 11 月 14 日 08:45 2024 年 11 月 14 日 我有 xml feed 作为 <CalendarEvent> <EventID>12667274</EventID> <StartDate>14/11/2024</StartDate> <StartTime>08:45</StartTime> <EndDate>14/11/2024</EndDate> <EndTime>09:15</EndTime> <Title>Hello Title</Title> <Location>Room 1</Location> </CalendarEvent> 下一行显示了房间 1 中的所有事件。 dv.RowFilter = "Location='Room 1'"; 如何显示当前时间之后的所有事件 dv.RowFilter = "(StartTime >= 'DateTime.Now.ToString(HH:mm)"; 任何帮助将不胜感激,谢谢。 试试这个 DateTime now = DateTime.Now; string currentDate = now.ToString("dd/MM/yyyy"); string currentTime = now.ToString("HH:mm"); dv.RowFilter = $"(StartDate > '{currentDate}' OR (StartDate = '{currentDate}' AND StartTime > '{currentTime}'))";
我正在尝试编写一个xsl文件,以便将给定的xml转换为html(用于发布)。这是我的示例 xml: 我正在尝试编写一个 xsl 文件,以便将给定的 xml 转换为 html(用于发布)。这是我的示例 xml: <text xml:lang="grc"> <body> <div type="edition" n="urn:cts:greekLit:tlg0059.tlg010.perseus-grc2" xml:lang="grc"> <div type="textpart" subtype="section" resp="perseus" n="11"> <p><said who="#Σωκράτης"><milestone unit="page" resp="Stephanus" n="11"/> <milestone unit="section" resp="Stephanus" n="11a"/><label>ΣΩ.</label> ὅρα δή, Πρώταρχε, τίνα λόγον μέλλεις παρὰ Φιλήβου δέχεσθαι νυνὶ καὶ πρὸς τίνα τὸν παρʼ ἡμῖν ἀμφισβητεῖν, <milestone unit="section" resp="Stephanus" n="11b"/> ἐὰν μή σοι κατὰ νοῦν ᾖ λεγόμενος. βούλει συγκεφαλαιωσώμεθα ἑκάτερον;</said></p> <p><said who="#Πρώταρχος"><label>ΠΡΩ.</label> πάνυ μὲν οὖν.</said></p> <p><said who="#Σωκράτης"><label>ΣΩ.</label> Φίληβος μὲν τοίνυν ἀγαθὸν εἶναί φησι τὸ χαίρειν πᾶσι ζῴοις καὶ τὴν ἡδονὴν καὶ τέρψιν, καὶ ὅσα τοῦ γένους ἐστὶ τούτου σύμφωνα· τὸ δὲ παρʼ ἡμῶν ἀμφισβήτημά ἐστι μὴ ταῦτα, ἀλλὰ τὸ φρονεῖν καὶ τὸ νοεῖν καὶ μεμνῆσθαι καὶ τὰ τούτων αὖ συγγενῆ, δόξαν τε ὀρθὴν καὶ ἀληθεῖς λογισμούς, τῆς γε ἡδονῆς ἀμείνω καὶ λῴω γίγνεσθαι σύμπασιν ὅσαπερ <milestone unit="section" resp="Stephanus" n="11c"/> αὐτῶν δυνατὰ μεταλαβεῖν· δυνατοῖς δὲ μετασχεῖν ὠφελιμώτατον ἁπάντων εἶναι πᾶσι τοῖς οὖσί τε καὶ ἐσομένοις. μῶν οὐχ οὕτω πως λέγομεν, ὦ Φίληβε, ἑκάτεροι;</said></p> <p><said who="#Φίληβος"><label>ΦΙ.</label> πάντων μὲν οὖν μάλιστα, ὦ Σώκρατες.</said></p> <p><said who="#Σωκράτης"><label>ΣΩ.</label> δέχῃ δὴ τοῦτον τὸν νῦν διδόμενον, ὦ Πρώταρχε, λόγον;</said></p> <p><said who="#Πρώταρχος"><label>ΠΡΩ.</label> ἀνάγκη δέχεσθαι· Φίληβος γὰρ ἡμῖν ὁ καλὸς ἀπείρηκεν.</said></p> <p><said who="#Σωκράτης"><label>ΣΩ.</label> δεῖ δὴ περὶ αὐτῶν τρόπῳ παντὶ τἀληθές πῃ περανθῆναι;</said></p> <p><said who="#Πρώταρχος"><milestone unit="section" resp="Stephanus" n="11d"/><label>ΠΡΩ.</label> δεῖ γὰρ οὖν.</said></p> <p><said who="#Σωκράτης"><label>ΣΩ.</label> ἴθι δή, πρὸς τούτοις διομολογησώμεθα καὶ τόδε.</said></p> <p><said who="#Πρώταρχος"><label>ΠΡΩ.</label> τὸ ποῖον;</said></p> <p><said who="#Σωκράτης"><label>ΣΩ.</label> ὡς νῦν ἡμῶν ἑκάτερος ἕξιν ψυχῆς καὶ διάθεσιν ἀποφαίνειν τινὰ ἐπιχειρήσει τὴν δυναμένην ἀνθρώποις πᾶσι τὸν βίον εὐδαίμονα παρέχειν. ἆρʼ οὐχ οὕτως;</said></p> <p><said who="#Πρώταρχος"><label>ΠΡΩ.</label> οὕτω μὲν οὖν.</said></p> <p><said who="#Σωκράτης"><label>ΣΩ.</label> οὐκοῦν ὑμεῖς μὲν τὴν τοῦ χαίρειν, ἡμεῖς δʼ αὖ τὴν τοῦ φρονεῖν;</said></p> <p><said who="#Πρώταρχος"><label>ΠΡΩ.</label> ἔστι ταῦτα.</said></p> 我想以粗体突出显示标签,并且理想情况下,将里程碑部分(如 11b)放置在文本的左边距(但我不知道如何开始执行后一项任务)。 这是我写的xsl: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/HTML" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="UTF-8" indent="yes"/> <xsl:template match="/"> <xsl:apply-templates/> </xsl:template> <xsl:template match="label"> <b> <xsl:apply-templates/> </b> </xsl:template> <xsl:template match="p"> <p> <xsl:apply-templates/> </p> </xsl:template> </xsl:stylesheet> 但输出是纯文本,没有中断,也没有粗体。任何提示将不胜感激! 您的 XSLT 文件几乎已步入正轨,但它有几个问题需要解决,以实现具有粗体标签和里程碑的所需 HTML 格式。以下是您可以进行的调整和添加: 1.命名空间 您的 XML 没有特定的命名空间,但 XSLT 文件引用了 HTML 命名空间。删除或修改它以确保 XSLT 正确匹配 XML 中的元素。 2.处理 milestone 元素 要将 milestone 元素放置在左边距中,您可以为 milestone 创建特定模板。一种简单的方法是在 <span> 元素内设置它们的样式,并使用 CSS 将它们定位在边距中。 3.格式化输出 为了确保 HTML 输出看起来正确,请为 said、label 和 milestone 等元素指定其他样式和模板。 这是经过这些更改的修订版 XSLT: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="UTF-8" indent="yes"/> <xsl:template match="/"> <html> <head> <title>Transformed Text</title> <style> /* Style for labels in bold */ .label { font-weight: bold; } /* Style for milestones on the left margin */ .milestone { float: left; margin-right: 10px; color: gray; } /* Styling paragraphs */ p { margin-left: 20px; text-indent: -20px; } </style> </head> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <!-- Template for paragraphs --> <xsl:template match="p"> <p> <xsl:apply-templates/> </p> </xsl:template> <!-- Template for labels with bold formatting --> <xsl:template match="label"> <span class="label"> <xsl:apply-templates/> </span> </xsl:template> <!-- Template for milestone elements to place them on the left --> <xsl:template match="milestone"> <span class="milestone"> <xsl:value-of select="@n"/> </span> </xsl:template> <!-- Template for 'said' elements --> <xsl:template match="said"> <div> <xsl:apply-templates/> </div> </xsl:template> </xsl:stylesheet> 变更说明: 命名空间更正:删除了 xmlns="http://www.w3.org/1999/HTML",因为它会干扰选择 XML 元素。 CSS 样式:<style> 块中的 CSS 用于: 使用 .label 类的粗体标签。 使用 milestone 类将 .milestone 元素浮动到左边距。 模板: <milestone>元素包裹在<span class="milestone">中,@n用于显示里程碑编号。 <label> 元素包裹在 <span class="label"> 中以实现大胆的样式。 这应该创建一个组织更加直观的 HTML 输出,并在左边距中带有粗体标签和里程碑。
Azure Databricks:PySpark:无法使用 XSD 验证 XML 文件
这就是我所做的。 创建了一个 XML 文件 xmlPath =“dbfs:/mnt/books.xml” xml字符串 = """ 科雷茨,伊娃 ...
使用 VBScript 解析 JSON 文件 - QTP/UFT
我正在使用 QTP/UFT 来自动化我的 UI 应用程序。我想将 UI 值与 REST API 响应中的值进行比较。我是 VBScript 新手,我已经编写了调用 RE 的方法...
当规范化开启时,XmlTextReader 会忽略 CheckCharacters=false
我已经实现了 XmlTextReader,并覆盖了 CheckCharacters 设置。像这样的事情: MyXmlTextReader 类:XmlTextReader { public MyXmlTextReader(TextReader输入):base(在...
Helidon MP EntityManager 始终返回 NULL
尝试在 Helidon MicroProfile 项目中使用 EntityManager 时遇到 NullPointerException。发生异常是因为当我尝试创建查询时 EntityManager 为空。 ...
如何读取 XML,然后将其编码为 Base64,并使用填充避免奇怪的字符
我正在编写 TypeScript 代码,我想读取 XML 文件,然后使用填充将其编码为 Base64。我可以读取并编码该文件,但解码后,我看到许多奇怪的字符......
注意:这不是语义问题。这并不是询问自闭合标签的含义。这是关于使用 XDocument 执行与本示例文章中使用 C# 提到的相反的操作: 一个 重新...
我有一个 XML 站点地图,在浏览器上访问时需要正确呈现。 请参阅下面的代码。 我有一个 XML 站点地图,在浏览器上访问时需要正确呈现。 请参阅下面的代码。 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd http://www.w3.org/1999/xhtml http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" > <url> <loc>https://www.brideonline.ru/_____PassioanteLady.html</loc> <xhtml:link rel="alternate" hreflang="ru-us" href="https://www.brideonline.ru/profile.php?Language=Russian&ID=_____PassioanteLady&Language1=1"/> <changefreq>monthly</changefreq> <priority>0.1</priority> </url> <url> <loc>https://www.brideonline.ru/___Alisa___.html</loc> <xhtml:link rel="alternate" hreflang="ru-us" href="https://www.brideonline.ru/profile.php?Language=Russian&ID=___Alisa___&Language1=1"/> <changefreq>monthly</changefreq> <priority>0.1</priority> </url> </urlset> 但是,当我尝试在浏览器上访问它时,它仅显示为纯文本。 非常感谢任何帮助/解释为什么它呈现为纯文本。 谢谢你。 因此,经过数小时的谷歌搜索并进行大量试验和错误后,我设法借助此链接解决了我的问题:Google 多语言站点地图问题 通过更改声明(使用 http://www.w3.org/1999/xhtml): <urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd http://www.w3.org/1999/xhtml http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"> 对此(使用http://www.w3.org/TR/xhtml11/xhtml11_schema.html): <urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd http://www.w3.org/TR/xhtml11/xhtml11_schema.html http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/TR/xhtml11/xhtml11_schema.html"> 现在,当在浏览器上访问 XML 文件时,它现在返回 XML 格式而不是纯文本。 希望这可以帮助其他有需要的人。 :) 您的服务器似乎没有为 XML 文件发送正确的 Content-Type HTTP 标头。请尝试更新您的 Web 服务器配置以发送 application/xml HTTP 标头中的值 Content-Type,而不是 text/xml。 为此: Apache:确保启用mod_mime,并将以下行添加到您的 .htaccess 文件或 vhost .conf 文件中:AddType application/xml xml Nginx:编辑/etc/nginx/mime.types并在types{}中添加以下行,如下所示: types { # ... application/xml xml; # ... }
在Odoo v16模板表单中,我有一个选择字段“活动类型”,其中包含来自后端的记录(类似于Many2many标签小部件,但现在在门户中),将由用户选择,并且用户可以...
在Odoo v16模板表单中,我有一个选择字段“活动类型”,其中包含来自后端的记录(类似于Many2many标签小部件,但现在在门户中),将由用户选择,并且用户可以...
我找不到解决方案,我也在Google论坛上询问过,但他们还没有解决问题。 由于我的网页每天都在变化,我正在使用 PHP 生成动态站点地图。过程...
使用 xslt 将外部变量的 xml 输入合并到另一个 xml 输入中
我需要使用 xslt 将存储在变量中的 xml 输入与另一个 xml 输入消息合并。 XML 输入: ...
XSLT 3.0 将 JSON 处理为 XML:从未调用过数组模板 - 优先级规则不清楚
在 XSLT 3.0 中,我想以标准方式处理通过从包含对象和简单值数组的 JSON 输入调用 json-to-xml() 隐式生成的 XML。解决方案...
ParseError:XML 或文本声明不在实体开头:使用 Python 元素树的第 2 行,第 0 列
我需要迭代 100 多个 xml 文件而不出现此错误:“ParseError:XML 或文本声明不在实体开头:第 2 行,第 0 列”。我该怎么做?现在,我...