- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用一个我没有源代码的应用程序。我正在尝试连接 XML 文件中的某些数据。我相信我的文件与应用程序所需的架构正确匹配,但我收到文件中每个元素的消息“无法找到该元素的架构信息”。我已经反编译应用程序代码并在 visual studio 中重新构建它,但我自己遇到了错误。
我将继续并转储代码...它很长,但我开始认为这是我的一个非常愚蠢的错误。
要导入的 XML:
<WorkOrders>
<WorkOrder>
<Action>SAVE</Action>
<UserDef1>NotRequired1</UserDef1>
<UserDef2>NotRequired2</UserDef2>
<UserDef3>NotRequired3</UserDef3>
<UserDef4>NotRequired4</UserDef4>
<UserDef5>NotRequired5</UserDef5>
<UserDef6>NotRequired6</UserDef6>
<UserDef7>-1</UserDef7>
<UserDef8>-2</UserDef8>
<AutoRelease>N</AutoRelease> <!--Probably can hardcode as N-->
<BuildInstructions>Not Required BuildInstructions</BuildInstructions>
<!--<BuildLocation>Not required BuildLocation</BuildLocation>-->
<Company></Company> <!--should match compan on the item master-->
<!--<DimensionUm></DimensionUm>-->
<DueDate>12-31-2011</DueDate>
<!--<Error></Error>-->
<FinishedItem>SERIAL_TEST</FinishedItem>
<QtyToBeBuilt>12345</QtyToBeBuilt>
<!--<QtyUm></QtyUm>
<RevisionNum></RevisionNum>-->
<Warehouse>PPLant</Warehouse>
<WeightUm></WeightUm>
<WOAllocMethod></WOAllocMethod>
<WorkOrderDetails>
<Action>SAVE</Action>
<UserDef1>NotRequired1</UserDef1>
<UserDef2>NotRequired2</UserDef2>
<UserDef3>NotRequired3</UserDef3>
<UserDef4>NotRequired4</UserDef4>
<UserDef5>NotRequired5</UserDef5>
<UserDef6>NotRequired6</UserDef6>
<UserDef7>-1</UserDef7>
<UserDef8>-2</UserDef8>
<AllocationRule>WorkOrderAllocation</AllocationRule>
<BuildLevel>1</BuildLevel>
<!--<BuildSequence>1</BuildSequence>-->
<Company></Company>
<ComponentItem>SERIAL_TEST</ComponentItem>
<FromLocation></FromLocation>-->
<!-- these fields allow users to increase/decrease the component quantity required
<IncQtyAmount></IncQtyAmount>
<IncQtyEligible></IncQtyEligible>
<IncQtyMinAmount></IncQtyMinAmount>
<IncQtyType></IncQtyType>-->
<!-- <LogisticsUnit></LogisticsUnit>
<Lot></Lot>
<ParentLogisticsUnit></ParentLogisticsUnit>-->
<QtyNeededPerItem>10</QtyNeededPerItem>
<!--<QuantityUm></QuantityUm>-->
<Warehouse>PPLant</Warehouse>
</WorkOrderDetails>
<WorkOrderId>ExampleWorkOrderID001</WorkOrderId>
<AllocationRule>WorkOrderAllocation</AllocationRule>
</WorkOrder>
</WorkOrders>
架构:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="WorkOrderDownload" targetNamespace="http://www.asdf.com/asdfNET/Interface" elementFormDefault="qualified" xmlns="http://www.asdf.com/asdfNET/Interface" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="2008">
<xs:include schemaLocation="InterfaceEntity.xsd" />
<xs:element name="WorkOrders" nillable="false" type="WorkOrderList" />
<xs:complexType name="WorkOrderList">
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" name="WorkOrder" nillable="true" type="WorkOrder" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="WorkOrder">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="AutoRelease" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="BuildInstructions" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="BuildLocation" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="Company" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="DimensionUm" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="DueDate" type="xs:dateTime" />
<xs:element minOccurs="0" maxOccurs="1" name="Error" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="FinishedItem" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="InterfaceEntity" type="InterfaceEntity" />
<xs:element minOccurs="0" maxOccurs="1" name="InternalWorkOrderNum" type="xs:int" />
<xs:element minOccurs="0" maxOccurs="1" name="ItemClass" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="ItemColor" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="ItemCost">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="ItemDescription" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="ItemHeight">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="ItemLength">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="ItemSize" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="ItemStyle" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="ItemValue">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="ItemWeight">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="ItemWidth">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="PlannedUnitBuildTime">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="QtyToBeBuilt">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="1" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="QtyUm" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="RevisionNum">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="VolumeUm" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="Warehouse" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="WeightUm" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="WOAllocMethod" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="WorkOrderDetails" type="WorkOrderDetailList" />
<xs:element minOccurs="0" maxOccurs="1" name="WorkOrderId" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="WorkOrderDetailList">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="WorkOrderDetail" nillable="true" type="WorkOrderDetail" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="WorkOrderDetail">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="AllocationRule" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="BuildLevel">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="BuildSequence">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="Company" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="ComponentItem" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="FromLocation" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="IncQtyAmount" type="xs:double" />
<xs:element minOccurs="0" maxOccurs="1" name="IncQtyEligible" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="IncQtyMinAmount">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="IncQtyType" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="InterfaceEntity" type="InterfaceEntity" />
<xs:element minOccurs="0" maxOccurs="1" name="InternalWorkOrderNum">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="LogisticsUnit" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="Lot" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="ParentLogisticsUnit" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="QtyNeededPerItem">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="1" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="QuantityUm" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="Warehouse" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:schema>
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Schema;
namespace WorkOrderInterfaceValidation
{
class Program
{
static void Main(string[] args)
{
helper h = new helper();
h.main();
}
}
class helper
{
StringBuilder _valErrorMsgs;
public helper()
{
_valErrorMsgs = new StringBuilder();
}
public void main()
{
try
{
string error = "No error";
Console.WriteLine("hello world");
ValidateSchemaWithURI("C:\\Program Files\\software\\asdf\\2010\\Interface\\Input\\ExampleWorkOrder001.xml",
"http://www.asdf.com/asdfNET/Interface",
"\\\\localhost\\asdf\\Schemas\\Interface\\WorkOrderDownload.xsd",
out error
);
error += " err";
Console.WriteLine(error);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Console.ReadKey();
}
public XmlReader ValidateSchemaWithURI(string inputUri, string targetNamespace, string schemaPath, out string error)
{
//StringBuilder _valErrorMsgs = new StringBuilder();
XmlReader reader = null;
XmlReader reader2;
try
{
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add(targetNamespace, schemaPath);
settings.IgnoreWhitespace = true;
settings.ValidationType = ValidationType.Schema;
settings.ValidationFlags = XmlSchemaValidationFlags.ReportValidationWarnings;
settings.ValidationEventHandler += new ValidationEventHandler(this.SchemaValidationEventHandler);
reader = XmlReader.Create(inputUri, settings);
foreach (var v in settings.Schemas.Schemas())
{
foreach (var e in ((XmlSchema)v).Attributes)
{
e.ToString();
}
}
while (reader.Read())
{
}
reader2 = reader;
}
catch (XmlException exception)
{
_valErrorMsgs.Append(exception.Message).Append(";");
Console.WriteLine(exception.Message);
reader2 = null;
}
finally
{
error = _valErrorMsgs.ToString();
if (reader != null)
{
reader.Close();
}
}
return reader2;
}
private void SchemaValidationEventHandler(object sender, ValidationEventArgs args)
{
this._valErrorMsgs.Append(args.Exception.Message).Append(";");
}
}
}
错误信息:
XmlException: Could not find schema information for the element 'WorkOrders'.;Could not find schema information for the element 'WorkOrder'.;Could not find schema information for the element 'Action'.;Could not find schema information for the element 'UserDef1'.;Could not find schema information for the element 'UserDef2'.;Could not find schema information for the element 'UserDef3'.;Could not find schema information for the element 'UserDef4'.;Could not find schema information for the ....
最佳答案
我认为您缺少 namespace 。尝试:
<WorkOrders xmlns="http://www.manh.com/ILSNET/Interface">
关于c# - "Could not find schema information for the element"- 但我的架构文件确实包含该元素的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6948962/
我有一个类似于以下的结构。 class A { string title; List bItem; } class B { int pric
本地流 和 远程流 两者都是“媒体流列表 ”。 本地流 包含“本地媒体流 ” 对象 但是,远程流 包含“媒体流 ” 对象 为什么差别这么大? 当我使用“本地流 “- 这个对我有用: localVide
我正在尝试将 8 列虚拟变量转换为 8 级排名的一列。 我试图用这个公式来做到这一点: =IF(OR(A1="1");"1";IF(OR(B1="1");"2";IF(OR(C1="1");"3";I
我正在使用面向对象编程在 Python 中创建一个有点复杂的棋盘游戏的实现。 我的问题是,许多这些对象应该能够与其他对象交互,即使它们不包含在其中。 例如Game是一个对象,其中包含PointTrac
有没有办法获取与 contains 语句匹配的最深元素? 基本上,如果我有嵌套的 div,我想要最后一个元素而不是父元素: Needle $("div:contains('Needle')")
出于某种原因,我无法在 Google 上找到答案!但是使用 SQL contains 函数我怎么能告诉它从字符串的开头开始,即我正在寻找等同于的全文 喜欢 'some_term%'。 我知道我可以使用
我正在尝试创建一个正则表达式来匹配具有 3 个或更多元音的字符串。 我试过这个: [aeiou]{3,} 但它仅在元音按顺序排列时才有效。有什么建议吗? 例如: 塞缪尔 -> 有效 琼 -> 无效 S
嘿所以我遇到了这样的情况,我从数据库中拉回一个客户,并通过包含的方式包含所有案例研究 return (from c in db.Clients.Include("CaseStudies")
如果关键字是子字符串,我无法弄清楚为什么这个函数不返回结果。 const string = 'cake'; const substring = 'cak'; console.log(string.in
我正在尝试将包含特定文本字符串的任何元素更改为红色。在我的示例中,我可以将子元素变为蓝色,但是我编写“替换我”行的方式有些不正确;红色不会发生变化。我注意到“contains”方法通常写为 :cont
我想问一下我是否可以要求/包含一个语法错误的文件,如果不能,则require/include返回一个值,这样我就知道所需/包含的文件存在语法错误并且不能被要求/包含? file.php语法错误 inc
我想为所有包含youtube链接的链接添加一个rel。 这就是我正在使用的东西-但它没有用。有任何想法吗? $('a [href:contains(“youtube.com”)]')。attr('re
我正在尝试在 Elasticsearch 中查询。除搜索中出现“/”外,此功能均正常运行。查询如下所示 GET styling_rules/product_line_filters/_search {
我正在开发名为eBookRepository的ASP.NET MVC应用程序,其中包含在线图书。 电子书具有自己的标题,作者等。因此,现在我正在尝试实现搜索机制。我必须使用Elasticsearch作
我已阅读Firebase Documentation并且不明白什么是 .contains()。 以下是文档中 Firebase 数据库的示例规则: { "rules": { "rooms"
我的问题是我可以给出条件[ 'BookTitleMaster.id' => $xtitid, ] 如下所示 $bbookinfs = $this->BookStockin->BookIssue->fi
我需要能够使用 | 检查模式在他们中。例如,对于像“dtest|test”这样的字符串,像 d*|*t 这样的表达式应该返回 true。 我不是正则表达式英雄,所以我只是尝试了一些事情,例如: Reg
我想创建一个正则表达式来不匹配某些单词... 我的字符:var test = "é123rr;and;ià456;or;456543" 我的正则表达式:test.match(\((?!and)(?!o
我在 XSLT 中有一个名为 variable_name 的变量,如果相关产品具有名称为 A 或 B 或两者均为 A & 的属性,我将尝试将其设置为 1 B.
您好,我想让接待员和经理能够查看工作类型和费率并随后进行更新。但是技术人员只能查看不能更新。该图是否有效? 我读到扩展用例是由发起基本用例的参与者发起的。我应该如何区分技术人员只能启动基本案例而不能启
我是一名优秀的程序员,十分优秀!