首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何转换xml并保留换行符?

要转换 XML 并保留换行符,可以使用一些编程语言的内置库或第三方库。以下是一些常见编程语言的示例代码:

  1. Python:
代码语言:python
代码运行次数:0
复制
import xml.etree.ElementTree as ET

xml_string = "<root><element1>value1</element1<element2>value2</element2></root>"
root = ET.fromstring(xml_string)

for element in root.iter():
    element.text = element.text.replace('\n', '')

xml_string_no_newlines = ET.tostring(root).decode()
print(xml_string_no_newlines)
  1. JavaScript:
代码语言:javascript
复制
const xml2js = require('xml2js');

const xmlString = '<root><element1>value1</element1<element2>value2</element2></root>';

xml2js.parseString(xmlString, (err, result) => {
  const newResult = JSON.parse(JSON.stringify(result).replace(/\n/g, ''));
  const newXmlString = xml2js.Builder().buildObject(newResult);
  console.log(newXmlString);
});
  1. Java:
代码语言:java
复制
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.StringReader;
import java.io.StringWriter;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;

public class Main {
    public static void main(String[] args) throws Exception {
        String xmlString = "<root><element1>value1</element1<element2>value2</element2></root>";
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        InputSource is = new InputSource(new StringReader(xmlString));
        Document doc = dBuilder.parse(is);

        replaceNewlines(doc.getDocumentElement());

        TransformerFactory transformerFactory = TransformerFactory.newInstance();
        Transformer transformer = transformerFactory.newTransformer();
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
        StringWriter writer = new StringWriter();
        transformer.transform(new DOMSource(doc), new StreamResult(writer));
        String xmlStringNoNewlines = writer.getBuffer().toString().replaceAll("\n", "");
        System.out.println(xmlStringNoNewlines);
    }

    private static void replaceNewlines(Element element) {
        NodeList childNodes = element.getChildNodes();
        for (int i = 0; i< childNodes.getLength(); i++) {
            Node childNode = childNodes.item(i);
            if (childNode.getNodeType() == Node.TEXT_NODE) {
                childNode.setNodeValue(childNode.getNodeValue().replaceAll("\n", ""));
            } else if (childNode.getNodeType() == Node.ELEMENT_NODE) {
                replaceNewlines((Element) childNode);
            }
        }
    }
}

这些示例代码将读取 XML 字符串,删除所有换行符,并将结果输出为新的 XML 字符串。请注意,这些示例代码仅适用于简单的 XML 结构。对于更复杂的 XML 结构,可能需要使用更高级的 XML 解析库。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 解析如何读取json文件数据并转换xml保存起来

    川川遇到大难题了,有人问我怎么把json转换xml文档保存起来,查了半天的资料确实没有可以白嫖的,最终我还是找到了官方文档,于是我就模仿官方文档做了一份出来,真是一个艰辛的过程,害!...encoding='gbk')as json_file: #打开文件,用gbk方式编译 load_dict = loads(json_file.read()) # load将字符串转换为字典...parse string而调整数据结构 with open(xml_path, 'w', encoding='UTF-8')as xml_file: #xml_file是文件路径...xml_file.write(dom.toprettyxml()) #doc.toprettyxml(indent, newl, encoding)方法可以优雅显示xml文档 if..., file_list[0] + '.xml')) #调用函数,转为xml文档格式,os.path.join():拼接待操作对 其实我都注释的差不多了,应该是大家能看懂的。

    1.6K30

    如何XML转换为HL7

    之前的文章中我们介绍了如何将HL7转换XML,本文介绍另一个方向的转换,即如何XML转换为HL7。...本文中提到的XML是指符合知行EDI系统内部规则的XML文件。本文主要介绍如何XML转换为HL7。 添加HL7 进行报文转换前,首先需要下载知行EDI系统。...如上图所示,在知行之桥EDI系统工作流页面左侧的端口下的EDI(电子数据交换)中找到HL7端口,拖拽至页面右侧工作区中,由于当前操作需要实现XML转换为HL7,因此可将HL7端口命名为XML_To_HL7...当生成 HL7文件时,在工作流中的其它端口获取并转换XML数据后,HL7端口将此XML数据转化成符合HL7文档语法的文件,应用适当的交换头信息。...可以选择这些文件,然后单击“发送”查看生成的XML。 输出 如上图所示,在输出页面下即可看到XML转换成为HL7。点击文件即可出现如下图所示界面: 点击下载消息,即可下载查看文件。

    3.8K30

    MyBatis的XML配置:如何判断List为空遍历拼接

    今天要聊一聊关于MyBatis的XML配置,如何在查询数据表时判断List是否为空,并进行遍历拼接。相信这个问题对于很多使用MyBatis的朋友来说都非常实用,所以请大家认真阅读哦!...这时候,需要将用户输入的条件组装成一个List对象,然后将这个List对象作为参数传递给MyBatis的XML配置文件。但是,在某些情况下,用户可能会忘记输入条件,导致传入的List为空。...因此,需要在MyBatis的XML配置文件中判断List是否为空,并进行相应的处理。二、如何判断List是否为空?在MyBatis的XML配置文件中,可以使用标签来判断List是否为空。...具体的做法如下:在MyBatis的XML配置文件中定义一个标签,用于编写SQL查询语句。然后,在标签内部,使用标签来判断List是否为空。...三、如何遍历拼接List?在MyBatis的XML配置文件中,可以使用标签来遍历拼接List。

    98410

    Spring是如何解析XML组装BeanDefinition存入BeanDefinitionMap的?

    count; } loadBeanDefinitions(String location, @Nullable Set actualResources) 获取资源加载器 把资源地址转换成资源数组...} if (resourceLoader instanceof ResourcePatternResolver) { try { //把资源地址转换成资源数组...返回Document对象 return builder.parse(inputSource); } 至此,xml已经解析完成,下面就是从文档对象中取出bean相关的数据组装成BeanDefinition...存入BeanDefinitionMap中 小总结 简单来说,解析xml其实就是调用jaxp的api进行解析,解析完成后返回一个文档对象,然后根据规则来取出数据组装,就这么简单。...BeanDefinition里 至此,从Element对象里取出数据组装成BeanDefinition源码解读完毕,接下来就是如何存入BeanDefinitionMap中了 回到DefaultBeanDefinitionDocumentReader

    26110

    如何让玩家进入流:利用移动游戏用户心理分析和保留转换

    超过2000新应用程序被添加到应用程序商店和谷歌每天玩,开发人员必须优化游戏的方方面面,不仅吸引人们第一次下载它,但是,更重要的是,长期保留玩家希望转换成一个付费客户。...今天,游戏设计与心理学密切相关,和使用游戏分析允许开发人员研究玩家的行为使用数据和统计信息来修正游戏问题,提高参与和浸泡,推动收入。因此,游戏分析提供机会了解玩家除了简单的主观解释。...; 调整内容根据用户的人口统计数据,添加新的水平和挑战,它可以帮助留住用户; 理解当球员经常离开——是下降的事件,困难的变化如何影响用户保留会话长度和影响力。...然而,活跃用户的数量将会更加表明,实际上有多少用户留在你的应用; 道(每日活跃用户):唯一的用户玩游戏的数目至少每天一次;它是一个主要指标是如何参与用户。...一旦你了解你的用户的行为,你可以设计,调整,或提高游戏的性能以提高转换,收入,一举和保留

    1.2K100

    2018-07-20 如何将 SVN 迁移至 GIT 保留所有历史记录

    如果你和你的小伙伴们正在考虑,从 SVN 迁移至 GIT,如果你们的 SVN 仓库已经够庞大(1W+ commits)和复杂(后面复杂情况详解),又想在迁移之后保留所有更改记录,这篇文章也许正是你要找的...此外,还将用到 SVN 命令,需要安装 Subversion 配置至 %PATH% 环境变量(这里我是直接使用 VisualSVN Server 安装目录下 bin 自带的 Subversion)。...简单情况 只需要几个步骤就能完成 SVN 至 GIT 的转换: # 1. 解压 SubGit-2.0.0.zip 至路径如:x:\SubGit-2.0.0,x: 替换为实际分区。 # 2....仓库创建时没有使用标准结构(trunk,branchs,tags),后期修改为标准结构,比如: /svn/project_name/ /svn/project_name/trunk …),想保留这些提交历史记录...比较麻烦的就是这种情况,目前还没发现有哪些转换工具可以直接支持,这里通过一种变通的方式,即先把包含不正确结构历史记录的 SVN 仓库转换为都正确结构历史记录的 SVN 仓库。

    1.3K60

    快速了解 YAML

    XML由大量标签构成,YAML则轻便很多,但没有DTD概念,不能像XML那样验证数据格式 对于YAML和XML,可以简单的理解为: XML很啰嗦,YAML简洁清晰,好理解,但XML的啰嗦也是有好处的,便于验证数据...,如 str: 我 是 谁 解析为JS对象: { str: '我 是 谁' } 如果想保留换行符,需要使用符号 '|' str: | 我 是 谁 解析为JS对象: { str: '...我\n是\n谁\n' } 多行字符串末尾的换行符可以选择保留或者删除,例如 str1: |+ 保留换行符 str2: |- 删除换行符 解析为JS对象: { str1: '保留换行符\n\n\n...', str2: '删除换行符' } + 保留末尾的换行 - 删除末尾的换行 引用 sign: &sign name: Gates email: g@a.com A: content...表示类型转换,后面跟上要转换的类型 注释 # key: value Block: Kiki # 表示注释 资源推荐 YAML官网 http://www.yaml.org/ yaml-js 即时解析工具

    1.9K50

    Python xml、字典、json、类四种数据类型如何实现互相转换

    注:xml、字典、json、类四种数据的转换,从左到右依次转换,即xml转换为类时,先将xml转换为字典,再将字典转换为json, 最后将json转换为类。...1)、先将xml转换为字典 2)、再使用dicttoxml转换为字典 import json import dicttoxml f=open('products.json','r',encoding...='utf-8') jsonstr=f.read() # 将json转换为字典 d=json.loads(jsonstr) print(d) # 将字典转换xml bxml=dicttoxml.dicttoxml...(d,custom_root='fruit') print(bxml) 11、将xml转换为json 1)、先使用xmltodict转换为字典2)、再将字典转换为json import xmltodict...import json f=open('products.xml','r',encoding='utf-8') d=f.read() #先将xml转换为字典 data=xmltodict.parse(

    3.3K10

    如何将HTML字符转换为DOM节点动态添加到文档中

    将HTML字符转换为DOM节点动态添加到文档中 将字符串动态转换为DOM节点,在开发中经常遇到,尤其在模板引擎中更是不可或缺的技术。...字符串转换为DOM节点本身并不难,本篇文章主要涉及两个主题: 1 字符串转换为HTML DOM节点的基本方法及性能测试 2 动态生成的DOM节点添加到文档中的方法及性能测试 本文的示例:...它被当做一个轻量版的 Document 使用,用于存储已排好版的或尚未打理好格式的XML片段。...下面我们来介绍对比几种常用的方案。 下面我们批量添加的方法都采用createDocumentFragment方法。...1.2.2 DocumentFragment 上面我们已经介绍过DocumentFragment了,利用它转换字符串。下面我们利用该对象来作为临时容器,一次性添加多个节点。

    7.6K20

    如何使用Bluffy将Shellcode转换成不同格式测试AV的安全性

    关于Bluffy Bluffy是一款功能强大的反病毒产品静态安全测试工具,该工具可以将Shellcode转换为各种看似真实的数据格式,以实现反病毒产品的绕过,从而测试反病毒产品的安全性能。...目前,Bluffy已经实现了下列格式转换: UUID CLSID SVG CSS CSV 依赖组件 在使用Bluffy之前,我们需要确保本地安装配置好下列依赖组件。...该工具基于Python语言开发,因此需要先在本地设备上安装配置好Python 3.9或更高版本环境: sudo apt install python3.9 rich安装 sudo pip3 install...接下来,使用下列命令将该项目源码克隆至本地: git clone https://github.com/ad-995/bluffy.git 工具使用 我们可以使用Bluffy来构建一个Payload,获取我们的源码文件...在构建Payload时,需要拷贝Bluffy创建的.h文件,并将其重命名为css.c,然后运行make命令将其构建为可执行程序,使用提供的样例进行测试: mv css.h examples/css/css.h

    75740

    【合合TextIn】智能文档处理系列—电子文档解析技术全格式解析

    随着信息量的爆炸性增长,如何高效、准确地处理和分析这些电子文档,已经成为信息技术领域面临的一大挑战。在这一背景下,电子文档解析技术应运而生,迅速发展成为智能文档处理技术中的一个关键组成部分。...字符编码决定了文本文件中的字节如何转换成字符。常见的字符编码包括ASCII、UTF-8、GBK等。...2.2.2 换行符处理由于不同操作系统中的换行符可能不同(例如,Windows中通常使用\r\n,而Linux和Mac OS使用\n),在跨平台处理TXT文件时,正确处理换行符是必要的。...5.2.2 XML内容解析解析DOCX文件的核心是处理XML文件,这要求解析器能够读取理解XML的结构和命名空间。XML文件包含了文档的文本内容和样式信息,解析器需要能够提取和处理这些信息。...在某些情况下,保留这些样式信息对于保持数据的原始意图和可读性非常重要。6.2.4 关系和引用处理XLSX文件中的元素(如单元格、图表、图片)可以相互引用。

    39910

    如何在 IE6,7 下实现 white-space: pre-wrap;

    white-space 属性 CSS 中的 white-space 属性用于设置文本空白符的处理规则,这其中包括:是否合并空白符、是否保留换行符、是否允许自动换行。...CSS 1 pre 保留 保留 不允许 CSS 1 pre-wrap 保留 保留 允许 CSS 2.1 pre-line 合并 保留 允许 CSS 2.1 (注:在 CSS1/2 下,white-space...(下图为 cnBeta 网站对评论文本的两种不同处理方式:左侧为普通评论,可能为了限制各条评论的高度、防止恶意刷屏,系统未做换行符转换处理;右侧为热门评论,系统进行了处理。) ?...如果服务器端因为疏忽没有做换行符转换处理,那么在前端是否可以用最小的代价来补救?...这条声明负责对 .content 元素内的文本行进行约束,强制其换行。

    2.4K31

    C语言字符串IO

    (如上面的案例) 坏处:是有时候我们并不想把换行符存储在字符串中,这样的换行符会带来一些麻烦。 如何处理掉换行符? while(words[i] !...(类似于gets) 如果gets_s()函数读取到最大字符都没有读取到换行符时,会执行以下几步: 首先把目标数组中的首字符设置为空字符,读取丢弃随后的输入直至读取到换行符或文件结尾,然后返回空指针。...注意fgets函数会保留出入末尾的换行符作为字符串的一部分,要编写额外的代码将其替换成空字符,但是只要输入行未超过最大字符数,gets_s和gets函数几乎一样,完全可以用gets_s函数替换gets。...scanf()函数 使用scanf()和%s转换说明读取字符串。scanf()和gets()或者fgets()的区别在于它们如何缺点字符串的末尾。...如果使用%s转换说明,以下一个空白字符(空格、空行、制表符、换行符)作为字符串的结束(字符串不包括空白字符)。

    4.6K10

    warning: LF will be replaced by CRLF | fatal: CRLF would be replaced by LF

    遇到这两个错误,是因为Git的换行符检查功能。 core.safecrlf Git提供了一个换行符检查功能(core.safecrlf),可以在提交时检查文件是否混用了不同风格的换行符。...这个功能的选项如下: false - 不做任何检查 warn - 在提交时检查警告 true - 在提交时检查,如果发现混用则拒绝提交 建议使用最严格的 true 选项。...Git可以在你提交时自动地把行结束符CRLF转换成LF,而在签出代码时把LF转换成CRLF。...input来告诉 Git 在提交时把CRLF转换成LF,签出时不转换: $ git config --global core.autocrlf input 这样会在Windows系统上的签出文件中保留...CRLF,会在Mac和Linux系统上,包括仓库中保留LF。

    1.6K30
    领券