namespaces 相关问题

命名空间是一个容器,它为标识符提供上下文,其中名称是唯一的。

为什么我不能在对象初始化期间使用部分限定的命名空间?

我怀疑这个问题以前已经被问过很多次了,但我还没有找到。 如果我不经常在文件中使用该类型或者我添加使用

回答 4 投票 0

如何解决C#中的类名冲突问题

我使用了一个不使用命名空间的第三方dll,它包含一个名为Speaker的枚举。 // 使用JetBrains反编译器反编译 // 类型:扬声器 // 程序集:StreamSDK,版本=1.0.6782.19546,Cul...

回答 1 投票 0

两个类在命名空间下互相使用

定义了两个类,一个类试图使用另一个类来做某事。这是代码: 类栏.hpp #ifndef TWOCLASSUSEEACHOTHER_CLASS_BAR_HPP #define TWOCLASSUSEEACHOTHER_CLASS_BAR_HPP 命名空间

回答 1 投票 0

为什么测试脚本无法导入运行时脚本的命名空间?

假设我已经声明了一个Unity资产“HMD”,其中包含2个目录,“Scripts”和“Tests”。 (该项目已上传至https://github.com/hpvdt/HMD-Air/b...

回答 1 投票 0

在哪里可以找到命名空间的 xsi 架构 = http://www.w3.org/1999/XSL/Format

我正在使用 xmlns:fo="http://www.w3.org/1999/XSL/Format" 。我正在尝试查找此命名空间的 xsd 或 dtd 文件,以便我可以使用 IDE 更轻松地工作。 我在哪里可以找到架构...

回答 2 投票 0

如何解决“未指定命名空间。在模块的构建文件中指定命名空间。”在 Android 应用程序中?

所以我有主应用程序模块,:app //**项目构建.gradle** 构建脚本{ 额外[“compose_version”] =“1.5.4” 存储库{ 谷歌() mavenCentral() ...

回答 1 投票 0

为什么静态库会删除未引用的函数

我将一些函数封装到 C++ 命名空间中,例如“NS:Initialize()”,但是当我将它们链接到单元测试 exe 时,链接器说它们不在那里。 果然,当我

回答 1 投票 0

如何修复错误命名空间未指定 AGP 8.5.1

我在处理 Android 项目时遇到“未指定命名空间”错误。我已确认我的 Android Gradle 插件 (AGP) 已更新至版本 8.5.1,并且我正在使用 Android

回答 1 投票 0

朋友无法使用命名空间访问私有成员

使用 MS Visual Studio 2019 重载运算符时出现以下错误<<: Severity Code Description Project File Line Suppression State Error C2248 'Instr...

回答 1 投票 0

.NET MAUI 找不到命名空间

当我尝试在模拟器上编译和调试我的 .NET MAUI 应用程序时,它突然停止工作。 有人告诉我 /platforms/android/MainApplication.cs 中的名称空间 MauiApplication 可以...

回答 1 投票 0

如何在主机中找到映射到使用k8s运行的容器的uid的uid

众所周知,k8s 并没有将用户命名空间与 k8s 节点主机隔离。 所以我的问题是,如果在我的 Dockerfile 中定义/创建了一个新的 uid/gid(从中构建图像),最后我...

回答 1 投票 0

如何告诉lxml.etree.tostring(element)不要在python中写命名空间?

我有一个巨大的 xml 文件(1 Gig)。我想将一些元素(条目)移动到具有相同标题和规范的另一个文件。 假设原始文件包含带有标签 的条目 我有一个巨大的 xml 文件(1 Gig)。我想将一些元素(条目)移动到具有相同标题和规范的另一个文件。 假设原始文件包含带有标签 <to_move>: 的条目 <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE some SYSTEM "some.dtd"> <some> ... <to_move date="somedate"> <child>some text</child> ... ... </to_move> ... </some> 我使用 lxml.etree.iterparse 来迭代该文件。工作正常。当我找到带有标签 <to_move> 的元素时,我们假设它存储在变量 element 中,我这样做 new_file.write(etree.tostring(element)) 但这会导致 <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE some SYSTEM "some.dtd"> <some> ... <to_move xmlns:="some" date="somedate"> # <---- Here is the problem. I don't want the namespace. <child>some text</child> ... ... </to_move> ... </some> 所以问题是:如何告诉 etree.tostring() 不要写 xmlns:="some"。这可能吗?我在 lxml.etree 的 api 文档中苦苦挣扎,但找不到满意的答案。 这是我找到的etree.trostring: tostring(element_or_tree, encoding=None, method="xml", xml_declaration=None, pretty_print=False, with_tail=True, standalone=None, doctype=None, exclusive=False, with_comments=True) 将元素序列化为其 XML 的编码字符串表示形式 树。 对我来说tostring()的每一个参数似乎都没有帮助。有什么建议或者更正吗? 我经常抓住一个命名空间来为它创建一个别名,如下所示: someXML = lxml.etree.XML(someString) if ns is None: ns = {"m": someXML.tag.split("}")[0][1:]} someid = someXML.xpath('.//m:ImportantThing//m:ID', namespaces=ns) 您可以执行类似的操作来获取名称空间,以便创建一个正则表达式,该正则表达式将在使用 tostring 后清理它。 或者您可以清理输入字符串。找到第一个空格,检查其后面是否有xmlns,如果有,则删除整个xmlns位直到下一个空格,如果没有则删除该空格。重复此操作,直到不再有空格或 xmlns 声明。但不要超过第一个>。 这更多是对“unutbu”答案的评论,其中需要清理命名空间的建议,但没有给出示例。这可能就是您正在寻找的... from lxml import objectify objectify.deannotate(root, cleanup_namespaces=True) 有一种方法可以使用 XSLT 删除名称空间: import io import lxml.etree as ET def remove_namespaces(doc): # http://wiki.tei-c.org/index.php/Remove-Namespaces.xsl xslt='''<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="no"/> <xsl:template match="/|comment()|processing-instruction()"> <xsl:copy> <xsl:apply-templates/> </xsl:copy> </xsl:template> <xsl:template match="*"> <xsl:element name="{local-name()}"> <xsl:apply-templates select="@*|node()"/> </xsl:element> </xsl:template> <xsl:template match="@*"> <xsl:attribute name="{local-name()}"> <xsl:value-of select="."/> </xsl:attribute> </xsl:template> </xsl:stylesheet> ''' xslt_doc = ET.parse(io.BytesIO(xslt)) transform = ET.XSLT(xslt_doc) doc = transform(doc) return doc doc = ET.parse('data.xml') doc = remove_namespaces(doc) print(ET.tostring(doc)) 产量 <some> <to_move date="somedate"> <child>some text</child> </to_move> </some> 这是一个古老的问题,但由于 13 年后 lxml 仍然没有内置这个明显的函数,处理它的最简单方法是使用正则表达式: def get_text(element: etree.Element) -> str: s = etree.tostring(element).decode() if m := re.match(r'^<(\w*)[^>]*>((.|\n)+)<\/\1>', s): return m.group(2).strip() return s 这会剥离整个包含元素 <description blah blah blah><div>What we want</div><p>more stuff</p></description> 并仅返回 <description> 内的标记。为了安全起见,它会保存开始元素标记以在末尾进行匹配(使用 \1 反向引用),但寻找结束 <\ 效果很好,因为贪婪匹配会跳过内容中嵌入的所有其他元素。 如果匹配失败,引发 ValueError 可能会更好,但这只会返回原始的丑陋字符串、命名空间和所有内容。

回答 4 投票 0


为什么类型在向量标头之后包含时会转义命名空间?

如果我用 clang++ 编译这个最小化的示例: #包括 #包括 命名空间 MyNamespace { 命名空间 ffi { #包括 } 无效示例()...

回答 1 投票 0

costum 包 symfony2 中命名空间出现拼写错误

我正在遵循教程“将 Twitter OAuth 库转换为 Symfony 2 Bundle 的简单方法”教程 但不适合我,我总是收到此错误: “自动加载器预期级别”FEB\

回答 1 投票 0

Typescript 全局命名空间声明

我在测试中使用 Cypress,它包含一个声明模块类型配置的文件。 声明命名空间 Cypress { 可链接接口 { 帮手:任意 ...

回答 2 投票 0

Bjarne 是否暗示 using 指令使得以后无法限定该名称空间中的名称?

我是否误解了,Bjarne 的 C++ 之旅第二版第 3 章有关命名空间的部分,因为它似乎暗示一旦使用了 using 指令,我们就无法限定它? 通过使用 using-directi...

回答 1 投票 0

你真的在java中使用反向域来命名包吗? [已关闭]

很长一段时间以来,我一直认为,在java中,反转你拥有的包命名的域是愚蠢和尴尬的。 您在项目中使用哪个来命名包?

回答 9 投票 0

Zeitwerk 和命名空间 STI 模型

我正在尝试解决我的 Rails 应用程序遇到的一个问题,该问题涉及一些 sti 模型的命名空间。 最初,我有一个 sti 模型集合,位于:app/models/foo 我验证了这些

回答 1 投票 0

在 loadNamespace 中更新后使用 R 时出现问题

我对 R 非常陌生。主要使用 Seurat 包来评估我的单细胞 RNAseq 数据。 今天想更新R版本和RStudio。之后我在使用已安装的软件包时遇到了问题...

回答 2 投票 0

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