xml 相关问题

可扩展标记语言(XML)是一种灵活的结构化文档格式,用于定义人类和机器可读的编码规则。

mxGraph:加载XML文件

我是 mxGraph 的新手。有谁知道如何从 mxGraph 编辑器(http://jgraph.github.io/mxgraph/javascript/examples/grapheditor/www/index.html)将文件保存到我的本地存储? 顺便说一句,是 XML 文件

回答 2 投票 0

难以找到 XML 和 Kotlin 中“无法解析类”错误的解决方案

我对Android应用程序开发有点陌生,我正在尝试对这个应用程序进行编程,它基本上取代了纸牌游戏中的计数系统。问题是,当我尝试创建布局时...

回答 1 投票 0

Wear OS 应用程序在通过应用程序中心作为 Android 捆绑包分发时无法找到配套的移动应用程序

我正在为 Android 应用程序创建一个配套的可穿戴应用程序。当构建为调试 apk 和签名 apk 时,这两个应用程序都能完美运行并相互通信。然而,当它...

回答 1 投票 0

修改此正则表达式以仅选择紧邻的特定标签而不是同级标签

我正在使用 Visual Studio Code 对充满 XML 文件的文件夹运行查找/替换。 我需要删除具有特定字符串“S00BBABHK”的所有 LineItem 节点。 注意:此代码的格式适用于 c...

xml
回答 1 投票 0

XML 架构验证无法找到带有 xsd 的声明

我必须使用 xsd 文件验证 xml。 xsd 文件 companySendType.xsd 是: 我必须使用 xsd 文件验证 xml。 xsd 文件 companySendType.xsd 是: <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:CC="http://test.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://test.com" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="companyType.xsd"/> <xs:element name="companySendType" > <xs:complexType> ... </xs:complexType> </xs:element> </xs:schema> Java代码: SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schema = sf.newSchema(new Source[]{ new StreamSource(ClassLoader.getSystemClassLoader().getResourceAsStream("companyType.xsd")), new StreamSource(ClassLoader.getSystemClassLoader().getResourceAsStream("companySendType.xsd")) }); Validator validator = schema.newValidator(); StringReader stringReader = new StringReader(xmlToValidate); StreamSource streamSource = new StreamSource(stringReader); validator.validate(streamSource); 我得到的错误是: 找不到元素“CC:companySendType”的声明 xml 是: <?xml version="1.0" encoding="UTF-8"?> <CC:companySendType version="1.0" xsi:schemaLocation="http://test.com companySendTypev1.18.xsd" xmlns:CC="http://test.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> </CC:companySendType> 我不明白为什么它不起作用,xml文件似乎没问题。 我检查了你的xsd,看来你还没有声明元素的类型CC:companySendType。您可以使用一些默认类型,例如: <xs:element name="companySendType" type="xs:string"/> 或者如果您有一个复杂类型,您应该像下面的示例一样定义它: <xs:element name="companySendType"> <xs:complexType> <xs:sequence> <xs:element name="x1" type="xs:string"/> <xs:element name="x2" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>

回答 1 投票 0

如何使用 xml 从 Excel 中提取条件格式规则列表?

我需要提取具有条件格式的所有单元格的列表,其中它们可能由于条件格式而突出显示为黄色。我尝试过使用 openxpyxl 来执行此操作,但它......

回答 1 投票 0

ElementTree 错误:“xml.etree.ElementTree.Element”对象没有属性“root”

我是 XML 新手,一直在努力理解如何从 API 调用中解压以下 xml 响应。 我尝试过使用 import xml.etree.ElementTree 但没有运气。大多数教程都是...

回答 1 投票 0

C 的 XML 解析器 [已关闭]

您能推荐一些最好的 C 语言 XML 解析器吗?

回答 10 投票 0

我可以在blogger中使用静态html模板吗?

我要在 Blogger 上创建一个博客。但我对 Blogger 模板有疑问,Blogger 默认提供的模板设计太旧,而且没有那么多功能。所以,我

回答 1 投票 0

如何配置 XSD 架构以在嵌套元素上生成 xmlns 属性?

我创建了这个 XSD 文件并将其命名为 Envelope.xsd... ...

回答 1 投票 0

如何解决 PMD 中的“无法加载规则集”和“XPathRule”类错误?

我收到的错误 无论我做什么,我都会收到此错误,我相信问题是由类属性引起的,但我不知道该怎么做。下面,我放了自定义的xml文件

回答 1 投票 0

如何使用 xml 提取 Excel 形状的颜色?

我有下面的代码,可以很好地从 Excel 文件中的所有形状中提取文本。对于包含 2 张纸和每张纸 1 个形状的简单 xlsx,它将返回以下内容: ['文本框2'...

回答 1 投票 0

C++ Builder 11 - XML FindNode 的工作方式与 Nodes[] 不同

我正在尝试在 C++ Builder 11 (Alexandria) 中导航 TXMLDocument。一切都进展顺利,但我却陷入了停滞。为了这个目的,我已经提炼了这个问题以简化它

回答 1 投票 0

电子发票标准税种不同税率,验证时返回警告

我实施了zatca标准发票。发票已结清,但有警告。我想解决这个警告。当小计计算中有两个标准类别的费率时,就会出现错误...

回答 1 投票 0

将键和值的嵌套 XML 数组转换为 Azure 数据工厂中的单行

创建数据流以将 XML 数据写入发票行项目的 SQL 表。我有如下 XML 源数据(已编辑),在展平后,我隔离了“数据”元素(在

回答 1 投票 0

ST 转换序列化期间命名空间绑定错误

我有一个简单的转换来创建这样的 XML 文件: 我有一个简单的转换来创建这样的 XML 文件: <?xml version="1.0" encoding="utf-16"?> <ORDEREXPORT xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <cbc:EXPORTDATE>2020-07-21</cbc:EXPORTDATE> <cbc:EXPORTTIME>10:10:46</cbc:EXPORTTIME> <xs:EXPORTUSER>STACKY</xs:EXPORTUSER> </ORDEREXPORT> 但是我的转换生成了一个像这样的文件: <?xml version="1.0" encoding="utf-16"?> <ORDEREXPORT xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"> <cbc:EXPORTDATE xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">2020-07-21</cbc:EXPORTDATE> <cbc:EXPORTTIME xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">10:10:46</cbc:EXPORTTIME> <xs:EXPORTUSER xmlns:xs="http://www.w3.org/2001/XMLSchema">STACKY</xs:EXPORTUSER> </ORDEREXPORT> 我希望所有命名空间都位于 <ORDEREXPORT> 元素中。 我怎样才能做到这一点? 我的转变: <?sap.transform simple?> <tt:transform xmlns:tt="http://www.sap.com/transformation-templates" xmlns:ddic="http://www.sap.com/abapxml/types/dictionary" xmlns:def="http://www.sap.com/abapxml/types/defined"> <tt:root name="ORDEREXPORT" type="ddic:ZORDEREXPORT_TYPE"/> <tt:template match="NewDataSet"> <ORDEREXPORT xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" > <cbc:EXPORTDATE tt:value-ref=".ORDEREXPORT.EXPORTDATE"/> <cbc:EXPORTTIME tt:value-ref=".ORDEREXPORT.EXPORTTIME"/> <xs:EXPORTUSER tt:value-ref=".ORDEREXPORT.EXPORTUSER"/> </ORDEREXPORT> </tt:template> </tt:transform> 两个 XML 文件在语法上是等效的(并且正确)。 SAP 没有解释 XML 命名空间的分配逻辑,但这并不重要,因为语法最终是正确的。 最终一种可能性是在标签 cbc:dummy="" xs:dummy="" 中定义错误属性 <ORDEREXPORT>,强制在此元素定义命名空间,并在转换后通过 ABAP 删除 cbc:dummy="" xs:dummy=""。 使用虚拟属性进行转换: <?sap.transform simple?> <tt:transform xmlns:tt="http://www.sap.com/transformation-templates" xmlns:ddic="http://www.sap.com/abapxml/types/dictionary" xmlns:def="http://www.sap.com/abapxml/types/defined"> <tt:root name="ORDEREXPORT" type="ddic:ZORDEREXPORT_TYPE"/> <tt:template match="NewDataSet"> <ORDEREXPORT xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xs:dummy="" cbc:dummy="" > <cbc:EXPORTDATE tt:value-ref=".ORDEREXPORT.EXPORTDATE"/> <cbc:EXPORTTIME tt:value-ref=".ORDEREXPORT.EXPORTTIME"/> <xs:EXPORTUSER tt:value-ref=".ORDEREXPORT.EXPORTUSER"/> </ORDEREXPORT> </tt:template> </tt:transform> 转换后立即获得的文件(在ABAP 7.52中),包括虚拟属性: <?xml version="1.0" encoding="utf-16"?> <ORDEREXPORT xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xs:dummy="" cbc:dummy=""> <cbc:EXPORTDATE>2020-07-21</cbc:EXPORTDATE> <cbc:EXPORTTIME>10:10:46</cbc:EXPORTTIME> <xs:EXPORTUSER>STACKY</xs:EXPORTUSER> </ORDEREXPORT> 调用转换并删除虚拟属性的ABAP代码: DATA(ls_orderexport) = VALUE zorderexport_type( exportdate = '20200721' exporttime = '101046' exportuser = 'STACKY' ). DATA string TYPE string. CALL TRANSFORMATION z_transfo_name SOURCE orderexport = ls_orderexport RESULT XML string. REPLACE 'xs:dummy="" cbc:dummy=""' IN string WITH ``. 在序列化期间使用显式 命令将命名空间绑定到元素。 对我来说,这种转换是有效的,并且生成的正是你想要的: <?sap.transform simple?> <tt:transform xmlns:tt="http://www.sap.com/transformation-templates" xmlns:ddic="http://www.sap.com/abapxml/types/dictionary" xmlns:def="http://www.sap.com/abapxml/types/defined" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" > <tt:root name="ORDEREXPORT" type="ddic:ZORDEREXPORT_TYPE" /> <tt:template> <ORDEREXPORT xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"> <tt:namespace name="xs"/><tt:namespace name="cbc"/> <cbc:EXPORTDATE> <tt:value ref=".ORDEREXPORT.EXPORTDATE"/> </cbc:EXPORTDATE> <cbc:EXPORTTIME> <tt:value ref=".ORDEREXPORT.EXPORTTIME"/> </cbc:EXPORTTIME> <xs:EXPORTUSER> <tt:value ref=".ORDEREXPORT.EXPORTUSER"/> </xs:EXPORTUSER> </ORDEREXPORT> </tt:template> </tt:transform> 你能帮我一下吗?我需要添加属性 1 和 2。

回答 3 投票 0

错误:无法解析 Kotlin Android 开发的 AndroidManifest.xml 中的符号“@style/Theme.Androidstudio”

这是我的 AndroidManifest.xml 文件的片段: 这是我的 AndroidManifest.xml 文件的片段: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/Theme.Androidstudio" tools:targetApi="31"> <activity android:name=".MainActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 我已经检查了项目的 styles.xml 文件,以确保“@style/Theme.Androidstudio”定义正确,并且它确实存在。但是,Android Studio 似乎无法解析此符号。 我尝试过清理和重建项目、同步 Gradle 文件,甚至重新启动 Android Studio,但错误仍然存在。 除了解决此错误之外,我还在寻求有关在 Kotlin Android 应用程序中实现 CRUD 操作的指导。任何与 Kotlin 中的 CRUD 操作相关的建议、资源或示例将不胜感激。 参考下面的解决方案,我还提供了在 Kotlin 中实现 CRUD 操作的分步过程: 使用 SQLITE 进行增删改查操作 Go to AndroidManifest.xml add these permissions - <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> below <manifest> tag and above <application> tag like here <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/Theme.Androidstudio" tools:targetApi="31"> <activity android:name=".MainActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> Make New Class DatabaseHelper and add the code below - import android.content.ContentValues import android.content.Context import android.database.Cursor import android.database.sqlite.SQLiteDatabase import android.database.sqlite.SQLiteOpenHelper class DatabaseHelper(context: Context) : SQLiteOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION) { companion object { private const val DATABASE_VERSION = 1 private const val DATABASE_NAME = "StudentManager.db" // Table name and columns private const val TABLE_NAME = "students" private const val COLUMN_ROLL_NUMBER = "roll_number" private const val COLUMN_NAME = "name" private const val COLUMN_MARKS = "marks" } override fun onCreate(db: SQLiteDatabase?) { val createTableQuery = "CREATE TABLE $TABLE_NAME (" + "$COLUMN_ROLL_NUMBER TEXT PRIMARY KEY," + "$COLUMN_NAME TEXT," + "$COLUMN_MARKS INTEGER)" db?.execSQL(createTableQuery) } override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) { db?.execSQL("DROP TABLE IF EXISTS $TABLE_NAME") onCreate(db) } fun addStudent(rollNumber: String, name: String, marks: Int): Boolean { val db = this.writableDatabase val contentValues = ContentValues() contentValues.put(COLUMN_ROLL_NUMBER, rollNumber) contentValues.put(COLUMN_NAME, name) contentValues.put(COLUMN_MARKS, marks) val result = db.insert(TABLE_NAME, null, contentValues) return result != -1L } fun readAllStudents(): Cursor { val db = this.readableDatabase return db.rawQuery("SELECT * FROM $TABLE_NAME", null) } fun updateStudent(rollNumber: String, name: String, marks: Int): Boolean { val db = this.writableDatabase val contentValues = ContentValues() contentValues.put(COLUMN_NAME, name) contentValues.put(COLUMN_MARKS, marks) val result = db.update(TABLE_NAME, contentValues, "$COLUMN_ROLL_NUMBER = ?", arrayOf(rollNumber)) return result != -1 } fun deleteStudent(rollNumber: String): Boolean { val db = this.writableDatabase val result = db.delete(TABLE_NAME, "$COLUMN_ROLL_NUMBER = ?", arrayOf(rollNumber)) return result != -1 } } In the Main Activity do this package com.example.androidstudio import DatabaseHelper import android.content.Context import android.database.Cursor import android.os.Bundle import android.widget.Button import android.widget.EditText import android.widget.Toast import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { fun showAlert(context: Context, title: String, message: String) { val builder = AlertDialog.Builder(context) builder.setTitle(title) builder.setMessage(message) builder.setPositiveButton("OK") { dialog, _ -> dialog.dismiss() } val dialog = builder.create() dialog.show() } private lateinit var databaseHelper: DatabaseHelper override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) databaseHelper = DatabaseHelper(this) val rollNumberEditText = findViewById<EditText>(R.id.rollNumberEditText) val nameEditText = findViewById<EditText>(R.id.nameEditText) val marksEditText = findViewById<EditText>(R.id.marksEditText) val addButton = findViewById<Button>(R.id.addButton) val displayButton = findViewById<Button>(R.id.displayButton) val updatestudent = findViewById<Button>(R.id.updatestudent) val deletestudent = findViewById<Button>(R.id.deletestudent) updatestudent.setOnClickListener { val rollNumber = rollNumberEditText.text.toString() val name = nameEditText.text.toString() val marks = marksEditText.text.toString() if (rollNumber.isNotEmpty() && name.isNotEmpty() && marks.isNotEmpty()) { if (databaseHelper.updateStudent(rollNumber, name, marks.toInt())) { Toast.makeText(this, "Updated Student Successfully", Toast.LENGTH_SHORT).show() } else { Toast.makeText(this, "Failed to update student", Toast.LENGTH_SHORT).show() } } else { Toast.makeText(this, "Please fill in all fields", Toast.LENGTH_SHORT).show() } } deletestudent.setOnClickListener { val rollNumber = rollNumberEditText.text.toString() if (rollNumber.isNotEmpty()) { if (databaseHelper.deleteStudent(rollNumber)) { Toast.makeText(this, "Deleted Student Successfully", Toast.LENGTH_SHORT).show() } else { Toast.makeText(this, "Failed to delete student", Toast.LENGTH_SHORT).show() } } else { Toast.makeText(this, "Please fill in roll number field", Toast.LENGTH_SHORT).show() } } addButton.setOnClickListener { val rollNumber = rollNumberEditText.text.toString() val name = nameEditText.text.toString() val marks = marksEditText.text.toString() if (rollNumber.isNotEmpty() && name.isNotEmpty() && marks.isNotEmpty()) { if (databaseHelper.addStudent(rollNumber, name, marks.toInt())) { Toast.makeText(this, "Student added successfully", Toast.LENGTH_SHORT).show() } else { Toast.makeText(this, "Failed to add student", Toast.LENGTH_SHORT).show() } } else { Toast.makeText(this, "Please fill in all fields", Toast.LENGTH_SHORT).show() } } displayButton.setOnClickListener { val cursor: Cursor = databaseHelper.readAllStudents() if (cursor.count == 0) { Toast.makeText(this, "No students to display", Toast.LENGTH_SHORT).show() return@setOnClickListener } val displayString = StringBuilder() while (cursor.moveToNext()) { val rollNumber = cursor.getString(0) val name = cursor.getString(1) val marks = cursor.getInt(2) displayString.append("Roll Number: $rollNumber, Name: $name, Marks: $marks\n") } showAlert(this,"Selected Items", displayString.toString()) } } override fun onDestroy() { databaseHelper.close() super.onDestroy() } } 完成! 查找特定输入 displayButton.setOnClickListener { val name2 = nameEditText.text.toString() val cursor2: Cursor = databaseHelper.findtotstudents(name2) if (cursor2.count == 0) { Toast.makeText(this, "No students to display", Toast.LENGTH_SHORT).show() return@setOnClickListener } val displayString2 = StringBuilder() while (cursor2.moveToNext()) { val count = cursor2.getString(0) displayString2.append("Count is $count") } showAlert(this,"Count Items", displayString2.toString()) } } FUNCTION IN databaseHelper is fun findtotstudents(name: String): Cursor { val db = this.readableDatabase return db.rawQuery("SELECT COUNT(roll_number) FROM $TABLE_NAME WHERE name= + \"$name\"", null) } 选择相似名称的卷数 MainActivity.kt displayButton.setOnClickListener { val cursor2: Cursor = databaseHelper.checkeachcount() if (cursor2.count == 0) { Toast.makeText(this, "No students to display", Toast.LENGTH_SHORT).show() return@setOnClickListener } val displayString2 = StringBuilder() while (cursor2.moveToNext()) { val count = cursor2.getString(1) val name = cursor2.getString(0) displayString2.append("Name : $name, Count: $count") } showAlert(this,"Name and Count", displayString2.toString()) } DatabaseHelper fun checkeachcount(): Cursor { val db = this.readableDatabase return db.rawQuery("SELECT name, COUNT(roll_number) FROM $TABLE_NAME GROUP BY name", null) } 选择分数最高的学生和分数最低的学生的姓名和分数 DatabaseHelper fun findmaxstudent(): Cursor { val db = this.readableDatabase return db.rawQuery("SELECT name, marks FROM $TABLE_NAME a WHERE a.marks = (SELECT MAX(MARKS) FROM $TABLE_NAME)",null) } fun findminstudent(): Cursor { val db = this.readableDatabase return db.rawQuery("SELECT name, marks FROM $TABLE_NAME a WHERE a.marks = (SELECT MIN(MARKS) FROM $TABLE_NAME)",null) } MainActivity displayButton.setOnClickListener { val cursor2: Cursor = databaseHelper.findmaxstudent() if (cursor2.count == 0) { Toast.makeText(this, "No students to display", Toast.LENGTH_SHORT).show() return@setOnClickListener } val displayString2 = StringBuilder() while (cursor2.moveToNext()) { val maxmarks = cursor2.getString(1) val name = cursor2.getString(0) displayString2.append("Name : $name, Max Marks: $maxmarks\n") } val cursor: Cursor = databaseHelper.findminstudent() if (cursor.count == 0) { Toast.makeText(this, "No students to display", Toast.LENGTH_SHORT).show() return@setOnClickListener } while (cursor.moveToNext()) { val minmarks = cursor.getString(1) val name = cursor.getString(0) displayString2.append("Name : $name, Min Marks: $minmarks\n") } showAlert(this,"Name and Count", displayString2.toString()) }

回答 1 投票 0

JAXB:如何向使用 xjc 生成的类添加 PropertyChangeListener 支持

似乎曾经有一个名为inject-listener-code的插件JAXB的xjc,它向生成的类添加了PropertyChangeListener功能(此处引用,例如:http://hwellmann.blo...

回答 1 投票 0

如何使用 python 比较 XML 布局与 XML 财政票据

作为一个开发新手,我是否可能走错话题了,如果是这样的话,抱歉。我一直在编写一个 Python 脚本,用于验证 XML 财政票据是否兼容...

回答 1 投票 0

如何使用 XmlElementAttribute 类在 C# 中发布 XML 数据

我有一些像这样的 XML 数据要发布在 httpPost 上: 我有一些像这样的 XML 数据要发布在 httpPost 上: <logindetail> <player account="IDR" country="IN" firstName="" lastName="" userName="" nickName="" tester="1" partnerId="LION8" commonWallet="0"></player> <partners> <partner partnerId="" partnerType="0" /> <partner partnerId="" partnerType="1" /> <partner partnerId="" partnerType="1" /> </partners> </logindetail> 我发布请求的代码在 C# 中是这样的: string reqBody = xmlData; var result = HttpPost(ApiUrl, xmlData, "text/xml"); 如何将 XML 数据设置为 reqBody 以将其发布到 httpPost 上? 使用 HttpClient 进行 Http Post 请求的简单代码: using System; using System.Net.Http; async Task<string> HttpPostAsync(string url, string data , string mediaType) { using (var httpClient = new HttpClient()) { var request = new HttpRequestMessage(); request.Method = HttpMethod.Post; request.RequestUri = new Uri(url); request.Content = new StringContent(data, Encoding.UTF8, mediaType); var responseMessage = await httpClient.SendAsync(request); return await responseMessage.Content.ReadAsStringAsync(); } } 使用示例: var xmlData = @"<logindetail> <player account=""IDR"" country=""IN"" firstName="""" lastName="""" userName="""" nickName="""" tester=""1"" partnerId=""LION8"" commonWallet=""0""></player> <partners> <partner partnerId="""" partnerType=""0"" /> <partner partnerId="""" partnerType=""1"" /> <partner partnerId="""" partnerType=""1"" /> </partners> </logindetail>"; var response = await HttpPostAsync("https://httpbin.org/post", xmlData, "Text/xml");

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.