当前位置: 首页 > 面试题库 >

如何在XML属性值中包含&,<,>等

柳坚白
2023-03-14
问题内容

我想创建一个XML文件,该文件将用于存储Java程序的结构。我能够成功解析Java程序并根据需要创建标签。当我尝试,包括我的标签中的源代码,就会出现问题,因为Java源代码可以使用的实体引用广大和保留的字符,如&<>&。我无法创建有效的XML。

我的XML应该像这样:

<?xml version="1.0"?>
<prg name="prg_name">
  <class name= "class_name>
    <parent>parent class</parent>
      <interface>Interface name</interface>
.
.
.
      <method name= "method_name">
        <statement>the ordinary java statement</statement>
        <if condition="Conditional Expression">
          <statement> true statements </statement>
        </if>
        <else>
          <statement> false statements </statement>
        </else>
        <statement> usual control statements </statement>
 .
 .
 .
      </method>
    </class>
 .
 .
 .
 </prg>

这样,但是问题是条件表达式if或其他语句中有很多&或其他保留的符号,这妨碍了XML的验证。由于所有这些数据(源代码)都是由用户提供的,因此我对此几乎没有控制权。逃避角色将花费大量时间。

我可以使用CDATA来转义元素文本,但不能用于包含条件表达式的属性值。我正在使用Antlr
Java语法来解析Java程序并获取标记的属性和内容。那么,还有其他解决方法吗?


问题答案:

你将不得不逃脱

" to  &quot;
' to  &apos;
< to  &lt;
> to  &gt;
& to  &amp;

用于xml。



 类似资料:
  • 我正在编写一个用于日志记录的自定义spring boot starter项目。我的logback-spring.xml变得很大,希望将附加符放入单独的文件(console-appender.xml和file-appender.xml)中,并希望包含在logback-spring.xml文件中,如下所示。我将所有三个XML放在自定义starter项目的src/main/resources文件夹中。

  • 问题内容: 如何在Oracle数据库的CLOB中包含的xml中添加属性?我可以使用UpdateXML函数来更新现有属性,但不会添加一个。 问题答案: 你可以使用一个组合与沿任,或删除现有的节点,然后用现在包括新的属性重新添加回来。

  • 我知道我们无法访问web中的属性。但是有没有解决方法来实现这一点。我只需要访问env在web中的价值。xml文件。 如有任何建议,我们将不胜感激。

  • 我需要标签中的属性值。< br >例如。Name xmlns:xsi = " http://www . w3 . org/2001/XML inst " xsi:space schema = " Name _ 5879 . xsd "

  • 问题内容: 我需要将KnownType添加到以下代码中,以便成功进行序列化。当我这样做时,生成的JSON如下: 我如何不包含“ __type”:“ Child:#TestJson”?在某些查询中,我们返回了数百个这些元素,这些额外的文本将加在一起。 完整代码: 问题答案: 正如我在上一个问题中告诉您的那样,我不知道,但是一些研究使我相信以下内容可能会达到您想要的目标: