0
HIは、XMLでビルドされたXMLDocument私は以下のようなXMLを構築し、文字列に変換する必要があり
値が動的に変化します。
どのような提案ですか?
<?xml version='1.0' encoding='utf-8'?>
<Message release='001' version='008' xmlns='http://www.ncpdp.org/schema/SCRIPT'>
<Header>
<To Qualifier='ZZZ'>xxxxxxx</To>
<From Qualifier='ZZZ'>xxxxxxx</From>
<MessageID>xxxxxx</MessageID>
<SentTime>2002-09-30T08:15:22</SentTime>
<Security>
<UsernameToken>
<Username/>
</UsernameToken>
<Sender>
<SecondaryIdentification>xxxxxxxxx</SecondaryIdentification>
</Sender>
<Receiver>
<SecondaryIdentification>xxxxxxxxxxx</SecondaryIdentification>
</Receiver>
</Security>
<TestMessage>1</TestMessage>
</Header>
<Body>
<RxHistoryRequest>
<RxReferenceNumber>POCDH1</RxReferenceNumber>
<Prescriber>
<Identification>
<NPI>xxxxxxx</NPI>
<DEANumber>xxxxxxxx</DEANumber>
</Identification>
<Name>
<LastName>JONES</LastName>
<FirstName>MARK</FirstName>
</Name>
<PhoneNumbers>
<Phone>
<Number>6152219800</Number>
<Qualifier>TE</Qualifier>
</Phone>
</PhoneNumbers>
</Prescriber>
<Patient>
<PatientRelationship>1</PatientRelationship>
<Name>
<LastName>PALTROW</LastName>
<FirstName>BRUCE</FirstName>
<MiddleName>K</MiddleName>
</Name>
<Gender>M</Gender>
<DateOfBirth>1954-12-25</DateOfBirth>
</Patient>
<BenefitsCoordination>
<PayerIdentification>
<PayerID>PBM123</PayerID>
</PayerIdentification>
<PayerName>INSURANCE COMPANY NAME</PayerName>
<CardholderID>MEMBERID</CardholderID>
<CardholderName>PALTROW, BRUCE</CardholderName>
<GroupID>B000000</GroupID>
<Consent>Y</Consent>
<PBMMemberID>B000000%111111110%001</PBMMemberID>
</BenefitsCoordination>
</RxHistoryRequest>
</Body>
</Message>
私はこの
はシリアライズクラス
[Serializable]
[XmlRoot("Message", Namespace = "http://www.domain.com/messaging")]
public class RxHistoryRequest
{
[XmlAttribute]
public string version = string.Empty;
[XmlAttribute]
public string release = string.Empty;
[XmlAttribute("schemaLocation", Namespace = XmlSchema.InstanceNamespace)]
public string xsiSchemaLocation = ConfigurationManager.AppSettings["Namespace"] + " " +
ConfigurationManager.AppSettings["SS_DirectorySchema"];
public Header Header = new Header();
public RxHistory Body = new RxHistory();
}
//rest of the Properties in the classes
を作成し、私は必要があるとして、私の方法
RxHistoryRequest RxHReq = new RxHistoryRequest();
RxHReq.version = "008"; //ConfigurationManager.AppSettings["SSversion"];
RxHReq.release = "001"; //ConfigurationManager.AppSettings["SSrelease"];
//declare values to the rest of the Properties
//then
MemoryStream memoryStream = new MemoryStream();
XmlTextWriter xmlTextWriter = new XmlTextWriter(memoryStream, Encoding.UTF8);
XmlSerializer xs = new XmlSerializer(typeof(RxHistoryRequest));
xs.Serialize(xmlTextWriter, RxHReq);
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("messaging","http://www.ncpdp.org/schema/SCRIPT");
//ConfigurationManager.AppSettings["SurescriptsNamespace"]
memoryStream = (MemoryStream)xmlTextWriter.BaseStream;
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] data = memoryStream.ToArray();
にいくつかの場所、それが右回転しているようなものを試してみました。
あなたはどれくらい持っていますか? –
.NETでXMLデータを生成および操作するための組み込みクラスが多数あり、ドキュメントはかなり広範で直観的です。どの部分が正確に問題を抱えていますか? – mellamokb
@JonSkeetステータスが – HaBo