`
longch
  • 浏览: 11931 次
  • 性别: Icon_minigender_1
  • 来自: 中国-广东
最近访客 更多访客>>
社区版块
存档分类
最新评论

对XML符号的包装类

XML 
阅读更多

package edu.basejava.util;

public class XmlSymbol
{
 private enum symbol
 {

  encoding("encoding"), endprefix("</"), endsuffix("/>"), equal(
    "="), prefix("<"), prefixi("<?"), suffix(">"), suffixi("?>"), version(
    "version"),dqm("\""),  white(" "), xml("xml");
  private String value;

  symbol(){}

  symbol(String val)
  {
   value = val;
  }
 }

 public static String endElement(String name)
 {
  return symbol.endprefix.value + name + symbol.suffix.value;
 }

 public static String formatAtt(String name, String value)
 {
  return name + symbol.equal.value + symbol.dqm.value + value
    + symbol.dqm.value;
 }

 public static String formatInstruction(String name,
   LinkedList<Attribute> attributes)
 {
  String rs = null;
  if (name != null)
  {
   rs = symbol.prefixi.value + name;

   for (Attribute ab : attributes)
    rs += (symbol.white.value + ab.toString());
   rs += symbol.suffixi.value;
  }
  return rs;
 }

 public static String newEmptyElement(String name, Attribute... attributes)
 {
  String rs = null;
  if (name != null)
  {
   rs = symbol.prefix.value + name;

   for (Attribute ab : attributes)
    rs += (symbol.white.value + ab.toString());
   rs += symbol.endsuffix.value;
  }
  return rs;
 }

 public static String startElement(String name, Attribute... attributes)
 {
  String rs = null;
  if (name != null)
  {
   rs = symbol.prefix.value + name;

   for (Attribute ab : attributes)
    rs += (symbol.white.value + ab.toString());
   rs += symbol.suffix.value;
  }
  return rs;
 }

 public static String startElement(String name,
   LinkedList<Attribute> attributes)
 {
  String rs = null;
  if (name != null)
  {
   rs = symbol.prefix.value + name;

   for (Attribute ab : attributes)
    rs += (symbol.white.value + ab.toString());
   rs += symbol.suffix.value;
  }
  return rs;
 }
}

分享到:
评论

相关推荐

    jaxb生成XML例子

    它会创建一个新的XML元素(包装器),比如`@XmlElementWrapper(name="DetailList")`,然后将数组或集合的每个元素作为`&lt;detail&gt;`元素包含在内。 7. **@XmlJavaTypeAdapter**: 如果需要自定义Java类型到XML的转换,...

    sym-derivation:Java中用于符号计算的库

    pom.xml复制到pom.xml文件。 &lt; groupId&gt;es.upm.etsisi &lt; artifactId&gt;sym-derivation &lt; version&gt;1.0.0 作为jar包装 如果您希望使用没有依赖项管理工具的库,则必须将sym-derivation的jar打包版本添加到项目的...

    Android最简单的限制输入方法(只包含数字、字母和符号)

    接下来,我们需要定义一个内部类InnerInputConnection,它继承自InputConnectionWrapper,用于包装父类的InputConnection,并添加我们自己的处理逻辑。 ```kotlin class InnerInputConnection(target: ...

    解决乱码问题工具类的使用.docx

    这是一个对原始`HttpServletRequest`的包装类,用于处理GET方式传递的请求参数编码。它重写了`getParameter`方法,当请求方式为GET时,如果参数已经存在,就将参数值从"ISO8859-1"编码转换为`request....

    NPOI-Lib.rar

    5. NPOI.OpenXml4Net.dll: 这个库提供了对Open XML SDK的.NET包装,帮助解析和构建Open XML文档。 6. NPOI操作DOCX.docx: 这是一个文档,详细介绍了如何使用NPOI进行DOCX文件的操作,包括创建、读取、更新和保存...

    Java BarCode4j实例源码

    3. 加载配置并生成条形码:在Java代码中,使用`BarCodeGenerator`类加载XML配置,并创建条形码对象。然后调用`generateBarcode()`方法生成条形码图像。 ```java FileOutputStream out = new FileOutputStream(...

    java开发规范,从细节做起!

    - **【强制】** POJO类中布尔类型的包装类变量,如果前面加的is,一定要检查它的get/set方法要以get/set开头,否则部分框架解析会引起序列化错误。 - **正例**:属性为`Boolean isDelete`,生成的方法为`...

    JSP过滤器防止Xss漏洞的实现方法(分享).docx

    `XssHttpServletRequestWrapper`类继承自`HttpServletRequestWrapper`,它覆盖了`getParameter`、`getHeader`等方法,对参数名和参数值进行XSS清洗。清洗过程通常包括替换或删除可能引发XSS攻击的特殊字符,如尖括号...

    FreeMarker

    自定义指令可以通过Java类实现,并通过`Configuration.setSharedVariable`方法注册到FreeMarker的配置实例中。 ##### 4.2 XML处理 FreeMarker提供了一系列工具和指令用于处理XML文档,包括: - **节点树**:将XML...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    13.1.3 在Visual Studio .NET 2005中编辑XML和XML模式 422 13.2 XmlReader和XmlWriter 425 13.2.1 使用模式和XmlTextReader 427 13.2.2 包含NameTable优化 429 13.2.3 从XML中提取.NET CLR类型 431 13.2.4 ...

    ASP.NET2.0高级编程(第4版)1/6

     20.3.3 对SQL Server的影响695  20.3.4 查看支持SQL  高速缓存禁用功能的表696  20.3.5 使表不支持  SQL Server高速  缓存禁用功能697  20.3.6 使数据库不支持  SQL Server高速  缓存禁用功能697  20.3....

    mybatis老师总结

    这种灵活性使得 MyBatis 更适合对关系数据模型要求不高的场景,如互联网软件、企业运营类软件等。 - **Hibernate**:具有强大的对象/关系映射能力,数据库无关性好。适用于对关系模型要求高的定制化软件开发,可以...

    教学实施大纲(javaWEB方向)

    - **包装类的概述**:Java提供了对应的包装类,如Integer、Double等,用于基本类型的对象表示。 - **使用String类操作字符串**:String类提供了丰富的字符串操作方法。 - **StringBUffer类和StringBuilder类**:...

    2021-2022计算机二级等级考试试题及答案No.9938.docx

    - **解析**: Java中的Integer类型是一个包装类,对应的原生类型int的取值范围是从-2^31到2^31-1,即最大值为32767。 ### 14. 关系数据库的基本操作 - **知识点**: 关系数据库的任何检索操作都是由三种基本运算组合...

    spring-dm-reference

    - **Spring XML 编写支持**:Spring DM 提供了对 Spring XML 配置的支持,简化了配置过程。 - **导入和导出包**:介绍了如何在 Bundle 之间共享 Java 类,以及如何确保包的可见性和版本兼容性。 - **使用外部库时的...

    Python3高级教程

    2.2 字符串开头或结尾匹配:介绍字符串的开始和结束匹配模式,如使用^和$符号。 2.3 用Shell通配符匹配字符串:展示Shell风格的通配符在字符串匹配中的应用。 2.4 字符串匹配和搜索:使用正则表达式进行模式匹配。 ...

    面试资料大全(宝典)

    - 包装类型如`Integer`, `Float`, `Double`等,则是引用类型,它们提供了对基本类型的封装,通常用于需要对象而非简单值的情况。 4. **类型转换** - 当需要将高精度类型赋值给低精度类型时,必须使用显式类型...

    Java面试题

    - **long**:不支持,因为switch只支持byte、short、char、int及其包装类以及枚举类型和字符串。 - **String**:从Java 7开始支持。 #### 15. 说一下抽象类和接口的区别 - **抽象类**:可以包含抽象方法(没有方法...

Global site tag (gtag.js) - Google Analytics