草庐IT

C# 读取带有 DTD 验证的 XML

我正在尝试读取带有dtd验证的XML文件,但不知道我是怎么做的,程序似乎没有读取我的dtd文件。我已将问题集中到一个小的xml文件和一个小的dtd文件:test.xml-位于c:\test.xmlRugbyjerseytest.dtd-位于c:\test.dtd我的C#程序是这样的namespaceXML_to_csv_converter{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidForm1_Load(objectsender,EventArgse){ReadXMLwithD

xml - 我不想解析 XML 中的某些标签

目前这将是我正在处理的示例XML:9603333560511danialsays:hahahanothing.现在请注意,标签可以包含其他标签(不应该被解析),我必须为此制作一个dtd。dtd是这样的:]>但问题是XML解析器仍然进入标记并表示标记应该用标记关闭。我只想从XML中获取数据,我不想进一步解析msg。请帮我解决这个问题,并告诉我这是否可以用DTD来完成。谢谢! 最佳答案 您不能制作一个DTD来神奇地使有问题的XML不再有问题。XML格式不正确,因此它永远不会有效,因为格式正确是有效性的先决条件(有效性在这里甚至不重要AF

Python xml.dom.minidom.parse() 函数忽略 DTD

我有以下Python代码:importxml.dom.minidomimportxml.parsers.expattry:domTree=ml.dom.minidom.parse(myXMLFileName)exceptxml.parsers.expat.ExpatError,e:returne.args[0]我用它来解析XML文件。尽管它很乐意发现简单的XML错误,例如标签不匹配,但它完全忽略了在XML文件顶部指定的DTD:因此,例如,当缺少必需元素时它不会注意到。如何开启DTD检查? 最佳答案 参见thisquestion-接受

java - 如何使用 Java 将内部 dtd 插入到 xml 文件中

如何使用Java将内部dtd插入到xml文件中我有以下测试代码,它将XML文件读入DOM文档,然后再次将其写出。我希望输出文件最终与输入文件相同。publicclassDomToXml{Documentdocument;voidprocess(){document=parseXmlFile("dat/input.xml");writeXmlFile(document,"dat/output.xml");}voidwriteXmlFile(Documentdocument,StringfileName){try{Sourcesource=newDOMSource(document);Fi

c# - XML 解析在第 1 行第 9 列失败 : DTD is prohibited

我已按照以下文章所述为SQL分析服务器配置HTTP访问,https://technet.microsoft.com/en-us/library/gg492140(v=sql.105).aspx最后,我为我的SQL分析服务配置了msmdpump.dll,我试图在Excel中加载连接字符串,我得到了“XML解析在第1行失败,第9列DTD被禁止”异常。来自'C:\inetpub\wwwroot\OLAP'的web.config是,安全标识的应用程序池是“NetworkService”。是否有任何管理员权限限制连接或遗漏任何设置? 最佳答案

python - DTD 验证失败(Python)

我正在编写一个Python脚本,该脚本从作为输入传递的XML+DTD生成文件,但它失败了,因为无法验证DTD,而我“在视觉上”看不到任何问题。这是我的代码:DTD='scenario.dtd'defOpenXML(xmlDesc):dtd=libxml2.parseDTD(None,DTD)ctxt=libxml2.newValidCtxt()doc=libxml2.parseDoc(xmlDesc)frags=doc.xpathEval('/scenario/config_script/param/*')forfraginfrags:frag.unlinkNode()#Weremov

java - 使用 Jaxb2Marshaller 防止解析包含 DTD 的 XML 文件

我看到许多使用XMLInputFactory、SAXParser和DocumentBuilderFactory的解决方案。我们的项目是springweb服务,我们唯一要做的是:@BeanpublicJaxb2Marshallerunmarshaller(){Jaxb2Marshallerunmarshaller=newJaxb2Marshaller();unmarshaller.setContextPath("foo");unmarshaller.setProcessExternalEntities(false);returnunmarshaller;}然后我们将这个编码器和解码器传递

xml - 无法在 XML 设置中添加架构 (xsd)

我正在尝试为IntelliJ中的XML添加xsd文件(模式),但是当我选择任何文件时,添加按钮被禁用。为了添加模式,我遵循了以下路径:File->Settings->Languages&Frameworks->SchemasandDTDs-(+)buttonunder'ExternalSchemasandDTDs'section请在下面找到所附图片。在此先感谢您的帮助:) 最佳答案 对话框顶部的URI字段为空。提供它,OK按钮将被启用。 关于xml-无法在XML设置中添加架构(xsd),

c# - 通过 dtd 验证 xml,dtd 的不同目录

我正在尝试通过.dtd验证xml文件。我写了这个验证器:publicboolValidation(XmlDocumentxmlDoc){varxml=XmldocToString(xmlDoc);varr=newXmlTextReader(newStringReader(xml));varsettings=newXmlReaderSettings();varsb=newStringBuilder();settings.ProhibitDtd=false;settings.ValidationType=ValidationType.DTD;settings.ValidationEvent

c# - 访问 Sharepoint 2013/office365 列表时出现 "DTD is prohibited"错误(但未公开意识到使用 XML)

我一直在使用以下代码从Sharepoint(在Office365上)获取文件夹和文件列表......varfolders=ListFolders(libraryName,clientContext,web);...publicListListFolders(stringlibraryName,ClientContextclientContext,Webweb){varlist=GetDocumentLibrary(libraryName,clientContext,web);varfolders=list.RootFolder.Folders;clientContext.Load(fo