-1

SharePoint Lob で文字列を XML 文字列に解析しようとしています

解析しようとしている文字列:

f#^)X&9uk7u%

およびエスケープ文字が指定された文字列

f#^)X&9uk7u%

Powershell の解析中にエラーがスローされます。

指定されたプロパティを System.String 型に解析できません

問題の原因となっている文字は&. を削除する&と、問題なく解析できます。

どんなアイデアでも素晴らしいでしょう。

コードは次のとおりです。

XML には以下のプロパティがあります。

<LobSystemInstance Name="MyLobInstance" DefaultDisplayName="MyLobInstance">
<Properties>
    <Property Name="Property1" Type="System.Boolean">true</Property>
    <Property Name="Property2" Type="System.String">{Property1}</Property>
    <Property Name="Property3" Type="System.String">{Property3}</Property>
    <Property Name="Property4" Type="System.String">{Property4}</Property>
    <Property Name="Property5" Type="System.String">{Property5}</Property>
    <Property Name="Property6" Type="System.String">{Property6}</Property>
    <Property Name="Property7" Type="System.String">{Property7}</Property>
    <Property Name="Property8" Type="System.String">{Property8}</Property>
    <Property Name="Property9" Type="System.String">{Property9}</Property>
    <Property Name="Property10" Type="System.String">{Property10}</Property>
    <Property Name="Property11" Type="System.String">{Property11}</Property>
    <Property Name="Property12" Type="System.String">{Property12}</Property>
   <Property Name="Property13" Type="System.String">{Property13}</Property>
</Properties>

以下は、powershell のコマンドです。

//-- Get the BDC Schema as a string

$bdcModelSchema = (Get-Content $bdcModelFile.FullName) | Out-String 

//Replace the strings with desired values.

$bdcModelSchema = $bdcModelSchema.Replace("{Property1}", $Property2)
$bdcModelSchema = $bdcModelSchema.Replace("{Property2}", f#^)X&9uk7u% | Out-String)
$bdcModelSchema = $bdcModelSchema.Replace("{Property3}", f#^)X&9uk7u%)
$bdcModelSchema = $bdcModelSchema.Replace("{Property4}", $Property4)
$bdcModelSchema = $bdcModelSchema.Replace("{Property5}", "Property5")
$bdcModelSchema = $bdcModelSchema.Replace("{Property6}",$Property6)
$bdcModelSchema = $bdcModelSchema.Replace("{Property7}", $Property7)
$bdcModelSchema = $bdcModelSchema.Replace("{Property8}", $Property8)
$bdcModelSchema = $bdcModelSchema.Replace("{Property9}", $Property9)
$bdcModelSchema = $bdcModelSchema.Replace("{Property10}", $Property10)
$bdcModelSchema = $bdcModelSchema.Replace("{Property11}", $Property11)
$bdcModelSchema = $bdcModelSchema.Replace("{Property12}", $Property12)
$bdcModelSchema = $bdcModelSchema.Replace("{Property13}", ($Property13))
4

2 に答える 2

0

&XMLではメタ文字であるため、機能しません。

それを回避するには、文字列を次のように定義する必要があります

$bdcModelSchema = $bdcModelSchema.Replace("{Property2}", 'x$*)X&amp;7hl9u#')
于 2015-03-25T11:34:16.253 に答える