首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >批量重命名JAX绑定文件中的complexType元素,即bindings.xjb?

批量重命名JAX绑定文件中的complexType元素,即bindings.xjb?
EN

Stack Overflow用户
提问于 2021-02-23 21:22:20
回答 1查看 57关注 0票数 0

我正在使用一个外部第三方WSDL文件,并试图从它生成Java代码。

WSDL包含<s:element><s:complexType>之间的名称冲突。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      <s:element name="Foo"> <!-- name conflict -->
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="SoapMessage" type="tns:Foo" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="Foo"> <!-- name conflict -->
        <s:complexContent mixed="false">
          <s:extension base="tns:SoapMessageBase">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:FooRequest" />
              <s:element minOccurs="0" maxOccurs="1" name="Response" type="tns:FooResponse" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>

我知道有了正确的bindings.jxb,它们中的一个可以重命名。这正是named the s:element and s:complexType the same name中描述的问题

然而,上面帖子中的解决方案并不是真的有效。像100+一样,WSDL中有很多名称冲突。

在我创建一个bindings.xjb来解决每一个问题之前。(是的,我可以写一个脚本),有没有更简单的方法来解决这个问题?比如模式匹配+批量重命名?

更新

到目前为止,我能找到的是对每个Issue with JAXB: nameXmlTransform typeName prefix not working使用<jaxb:nameXmlTransform>

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?>
<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xsd="http://www.w3.org/2001/XMLSchema" jaxb:version="2.0">
   <jaxb:bindings schemaLocation="schema.xsd" node="/xsd:schema">
      <jaxb:schemaBindings>
         <jaxb:package name="com.mycompany.hi"/>
         <jaxb:nameXmlTransform>
            <jaxb:typeName prefix="Hi_"/>
            <jaxb:elementName prefix="Hi_"/>
         </jaxb:nameXmlTransform>
      </jaxb:schemaBindings>
   </jaxb:bindings>
</jaxb:bindings> 

但挑战是<jaxb:bindings schemaLocation="schema.xsd" node="/xsd:schema"> -外部WSDL提供程序根本不提供任何.xsd文件。

这是只提供WSDL的常见场景吗?还是因为我错过了什么?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-23 22:08:36

事实证明schemaLocation="./services.wsdl#types1"解决了这个问题。现在,我可以在没有XSD的情况下从WSDL生成代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?>
<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xsd="http://www.w3.org/2001/XMLSchema" jaxb:version="2.0">
    <jaxb:bindings schemaLocation="./services.wsdl#types1">
        <jaxb:schemaBindings>
            <jaxb:nameXmlTransform>
                <jaxb:typeName suffix="Type" />
                <jaxb:elementName suffix="Element" />
            </jaxb:nameXmlTransform>
        </jaxb:schemaBindings>
    </jaxb:bindings>
</jaxb:bindings>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66341286

复制
相关文章
文件批量重命名
# 把当前文件夹的所有文件重命名为 WF .... # 把这个路径下的所有文件先查找到 -- 遍历所有文件 :有一个新的名字WF .. rename(旧,新) import os file_path = os.getcwd() list1 = os.listdir(file_path) print(list1) # 当前目录每个名字前面加'WF ' for name in list1: new_name = 'WF ' + name os.rename(name, new_na
汪凡
2018/05/29
1.5K0
linux批量文件重命名命令_shell重命名文件指令
hello_10_2016-03-17.log hello_4_2016-03-17.log hello_8_2016-03-17.log
全栈程序员站长
2022/10/02
10.7K0
cmd - 批量重命名文件
相信大家或多或少都遇到过类似的情况:从网上下载了好多图片(或者其他的文件),这些图片的名字往往都是些乱七八糟的字母数字的组合们想要一次性修改几十张上百张的图片的名字应该怎么办呢?
雨临Lewis
2022/01/11
2.9K0
cmd - 批量重命名文件
python实现批量重命名文件
#!/usr/bin/env python # -*- coding:UTF-8 -*- import os # 第一种方法 files = os.listdir('.') i = 1 for f in files:     filename, extname = os.path.splitext(f)     if extname == '.txt':         os.rename(f, 't%d%s' % (i, extname))         i += 1 print '#' * 30 #第
py3study
2020/01/07
2.6K0
python 图片重命名_python批量重命名文件
** 一个简单的python 脚本,用于图片批量重命名,非常简单但是也非常使用!
全栈程序员站长
2022/10/03
3.5K0
python 图片重命名_python批量重命名文件
按数字批量重命名文件
本着互联网的分享精神,准备做一个随机图片,但是人家名字都不一样,咱也不好写代码,于是花了几分钟敲了几行代码,一秒钟就命名了530张图片。结果就是这样滴。
SingYi
2022/07/14
9120
按数字批量重命名文件
用Python批量重命名文件
案例:小明有一天接了一个任务,需要将某个文件夹下的数百个文件进行批量重命名,他感觉手动一个一个去修改文件名太麻烦了,于是就用Python写了个脚本来帮他完成这个任务。
唯一Chat
2023/09/21
5730
如何批量给自己的文件重命名
应用Windows日常办公,很多时候为了更快识别自己文件夹的文件,我们常需要对文件进行重命名自己偏好习惯,个位数的文件重命名,无非就是耗费自己一两分钟的时间,点点鼠标,然后重命名,输入文件名即可。
生信技能树
2021/03/23
1.7K0
文件进行批量重命名小技巧
首先我们打开文件夹,选取需要重命名的文件;这里需要注意的是(为了保持文件顺序不变动,我们遵循从下至上,从右至左。反着选取)
菜菜有点菜
2022/03/02
1.1K0
文件进行批量重命名小技巧
linux 重命名 文件夹_如何给文件批量重命名
上面的例子中,子模式 \d{4} 会捕捉4个连续的数字,捕捉的四个数字匹配模式对应 $1, 将会用于新的文件名。
全栈程序员站长
2022/09/30
7K0
linux 重命名 文件夹_如何给文件批量重命名
批量自动重命名音乐文件
有个不好意思的坏习惯,经常在网上下载一些MP3音乐,大家可别学我,请努力支持正版。 很多不同时间、不同来源的MP3,一般采用了不同的命名规则,或者干脆就是混乱的命名,比如一串谁也看不懂的数字,感觉这些起名字的人实在是不走心。 但管理起来或者欣赏起来,这些杂乱的名字就实在太令人恼火了。自己写了一个小程序,读取MP3音乐中的标签(Taginfo)信息,这些信息一般是压制MP3的时候直接从CD中得到并且保存到MP3文件的,然后用这些信息重新命名MP3文件,我当前采用的方式是“艺术家+曲名.mp3”,源码内
俺踏月色而来
2018/06/20
2.6K0
MATLAB批量文件重命名(详细解释)
该文介绍了如何使用 MATLAB 批量重命名文件,包括获取文件列表、重命名文件、添加前缀等步骤。还介绍了如何将文件路径和文件名分离,以及如何使用 dos 函数重命名文件。
Alan Lee
2018/01/02
2.1K0
vb6 批量重命名文件
vb6 批量重命名文件;这里只用到name函数加for循环,来命名列表框里的文件!!脑洞大开的可以用filebox代替 ;命名所有文件!!
办公魔盒
2019/07/22
1.5K0
文件夹里的图片批量重命名_python批量修改文件名
在ubuntu下直接新建一个rename.py,然后,将上述代码复制进去,保存,然后在rename.py 目录下,运行输入命令:
全栈程序员站长
2022/10/04
2K0
文件夹里的图片批量重命名_python批量修改文件名
MATLAB 批量文件重命名(详细解释)
版权声明:本文为博主原创文章,未经授权禁止转载。 https://blog.csdn.net/u010099080/article/details/49915743
Alan Lee
2019/05/27
2.1K0
如何利用Python批量重命名文件
Python的安装在这里并不想多少,目前网络上的教程都是正确的。 自从用了PyChram的编译器,世界更加美好了。编译环境可以根据每个项目不一样而不同。
繁华是客
2023/03/03
1.4K0
用python的shutil库批量移动文件及批量重命名
背景:老父亲要看乡村爱情,下载的资源都在一个单独的小文件夹中,想把他们移动到单独的大文件夹下,读了官方文档shutil库,尝试用了一下,效果不错,提升了效率,不用我一个一个去挪动了。
易弦
2022/10/28
1.7K0
【汇总】linux 下文件批量重命名
linux 下单个文件的重命名可以直接用[/precode]mv[/precode]进行,比如说将test.txt 修改成test_file1.txt只需要输入
Balliol Chen
2022/04/25
4.6K0
python批量移动文件&重命名代码分享
虽然咱是matlab编程类公众号,偶尔学习学习python也是好的。交叉学习、融会贯通、共同进步。如果所学的知识不能够为我带来些许便利,我终将会怀疑其之于我的意义,若是python离我特别远,何为还会
巴山学长
2020/08/14
2.9K1
python批量重命名图片序号_python实现图片文件批量重命名「建议收藏」
本文实例为大家分享了python实现文件批量重命名的具体代码,供大家参考,具体内容如下
全栈程序员站长
2022/10/03
7260

相似问题

批量重命名文件

645

批量重命名文件

22

批量重命名文件

21

批量重命名文件

30

git批量重命名批量提交的文件

41
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文