- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在编写一个我了解有限的历史脚本。
对象 A 的类型为 system.xml.xmlelement
,我需要将其转换为类型 system.xml.xmldocument
以与对象 B 进行比较(类型 system.xml.xmldocument
).
脚本当前尝试进行直接转换,抛出:
Cannot convert value
System.Xml.XmlElement
to typeSystem.Xml.XmlDocument
. Error: "The specified node cannot be inserted as the valid child of this node, because the specified node is the wrong type."
我想我需要创建一个新的 system.xml.xmldocument
对象并将节点从对象 A 导入到新对象中,然后对新对象与对象 B 进行比较。我我正在努力使用正确的语法,而且我不确定这是正确的方法。
如有任何指导或帮助,我们将不胜感激。
对象 A (xmlElement) 如下所示:
cacheservice
Caching
xxx
1.0
xxx
Started
Active
Basic
North Europe
1
1.3.0
1024
default false
false
LeastRecentlyUsed
10
Absolute
CreationDate
9/30/2014 9:46:42 AM +00:00
Create
Succeeded
对象 B (xmldocument) 如下所示:
Basic
North Europe
1
1.3.0
134217728
default
True
True
True
10
Absolute
câu trả lời hay nhất
我知道这是一个旧问题,但由于没有人回答,所以在遇到类似问题后,我想我会分享这个。基本上,您不能将 XmlElement 隐式转换为 XmlDocument,但可以包装它。以下语法简单地做到了这一点:
给定以下虚拟 xml
Role1
Role2
Role3
我们可以获得一个子集并将其转换为如下文档:
$value = [xml](Get-Content(Join-Path $filePath $roles[0]))
$commonRoles = $value.configuration.CommonRoles
$xml = New-Object -TypeName xml
$xml.AppendChild($xml.ImportNode($commonRoles, $true)) | Out-Null
在这种情况下,我们从文件中读取 xml 源,然后选择一个嵌套元素 (CommonRoles),它成为我们的 XmlElement 对象。后续行将创建一个新的 xml 对象,并将 XmlElement 附加到该对象。我们需要使用 ImportNode 方法,因为 xml 当前属于另一个文档,因此您需要允许它成为新文档的一部分。
Out-Null 的管道防止对 AppendChild 的调用成为函数输出的一部分。
关于xml - 使用 PowerShell 将 system.xml.xml 元素转换为 system.xml.xml 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26138664/
Tôi đang tìm cách triển khai nhà cung cấp PowerShell trong PowerShell. Tôi đã nghĩ rằng nếu tôi chỉ xác định các loại và sau đó nhập chúng vào phiên của mình (mô-đun nhập), tôi sẽ có thể cung cấp chúng. Ví dụ: điều này không hiệu quả nhưng nó đi đúng theo những gì tôi muốn
Tập lệnh tôi tạo sử dụng các thành phần chỉ có trong phiên bản Powershell 32 bit. Theo mặc định, Windows sử dụng Powershell x64 để thực thi các tập lệnh, điều này có thể gây ra một số lỗi. là một cách để đặt giá trị ở đầu tập lệnh để buộc Win
Có thể phát hiện từ Powershell xem đó có phải là Shell lồng nhau không? Nếu tôi mở cửa sổ Powershell hoặc cmd.exe và gõ powershell vào đó, liệu có $host.s ma thuật không?
Với việc phát hành PowerShell Core, làm cách nào để ứng dụng chọn phiên bản Powershell nào sẽ gọi khi sử dụng thư viện tự động hóa được quản lý (system.management.automation)?
Gần đây, tôi đã tham gia nhóm Windows tại doanh nghiệp của mình và với nền tảng nhà phát triển của mình (nói chung là Java, .NET và Web), tôi nhanh chóng quan tâm đến PowerShell. Tôi có thể thấy nó hiệu quả hơn các tệp bó cũ đơn giản, VB
Giả sử tôi có tập lệnh powershell chứa hàm băm Powershell trong đường dẫn tương ứng với đường dẫn hiện tại của tôi. Hãy gọi nó là "name.ps1" và nó chứa: $names = @{ "bob" = "b
Tôi muốn sử dụng SqlServerCmdletSnapin cho Powershell Commandlet tùy chỉnh mà tôi đang xây dựng. Nếu tôi thêm đoạn mã sau vào đầu PSM1: if ( (Get-PSSnapin
Làm cách nào để gọi tập lệnh PowerShell lấy tham số được đặt tên từ tập lệnh PowerShell? foo.ps1: param( [Parameter(Mandatory=$true)][String]$a=''
Tôi sắp viết tập lệnh PowerShell dành cho quản trị viên Windows để giúp họ hoàn thành một số tác vụ nhất định liên quan đến việc triển khai ứng dụng web. Có lý do nào khiến tôi nên ưu tiên hoặc loại trừ việc phát triển các mô-đun PowerShell (.psm1
Mô-đun powershell của tôi có chức năng mà tôi muốn trả về mã thoát khác 0. Tuy nhiên, với tư cách là một chức năng mô-đun, khi tôi chạy Nhập mô-đun, nó sẽ được tải vào ngữ cảnh của bảng điều khiển powershell. Vì vậy, khi
Tôi đã dành 4 giờ qua cho vấn đề này và sẽ thực sự đánh giá cao bất kỳ ý kiến đóng góp nào bạn có thể cung cấp. Tôi cần gọi tập lệnh powershell bằng các thông tin xác thực khác nhau và chuyển đối số cho tập lệnh. Sau khi cài đặt chương trình được đóng gói trong WISEScript, tập lệnh này khởi động máy thu thập
Tôi có một tình huống trong đó tôi cần chuyển tiếp lệnh và đầu ra của lệnh powershell sang một quy trình khác để ghi nhật ký và xử lý. Tôi muốn bảng điều khiển này càng gần với powershell càng tốt, vì vậy tôi không muốn chỉ lưu trữ nó trong một chương trình bảng điều khiển khác.
Tôi đang cố gắng để một tập lệnh PowerShell chính chạy tất cả các tập lệnh khác trong khi chờ 30-60 giây để đảm bảo tác vụ được hoàn thành. Mọi thứ khác tôi đã thử đều không dừng/đợi tập lệnh đầu tiên và quá trình của nó kết thúc trước khi tất cả các tập lệnh khác có thể hoàn thành cùng lúc và
Tôi đang viết một tập lệnh để sử dụng nhiều phiên plink (PuTTY) làm phiên bản clustersh của Windows. Tuy nhiên, tôi bị kẹt vì tôi muốn mở nhiều Powersh từ powershell
Tôi đã đọc câu trả lời này: Cách mở Powershell từ Powershell khởi động powershell Điều này sẽ mở phiên bản PS có độ phân giải lớn cơ bản. Làm cách nào để mở PS (x86)? câu trả lời hay nhất
Tôi muốn biết liệu chúng tôi có thể thực hiện việc này trong Powershell hay không. Sử dụng lệnh Out-File, chúng ta có thể ghi đầu ra của nó vào một tệp thông qua một đường ống. Bằng cách này, tôi có thể gửi tất cả lịch sử lệnh của mình đến một tệp văn bản. Vấn đề là tôi có thể làm điều này mọi lúc
Tôi đã đọc về cách hoạt động của đường ống trong PowerShell tại about_Pipelines và biết rằng đường ống phân phối một đối tượng mỗi lần. Vì vậy, Get-Service | Format-Table -Pr này
Tôi đang cố gắng bắt đầu một quy trình từ powershell như thế này:- $proc = (start-process $myExe -argumentList '/myArg True' -windowStyle
## Để chạy tập lệnh # .\get_status.ps1 -Hostname -Service_Action -Service_Name #$Hostname = "hos
Chúng ta hãy sử dụng lệnh powershell Write-Host "red text" -Fore red Điều này sẽ hiển thị "văn bản màu đỏ" ở nền trước màu đỏ. Tuy nhiên, bạn muốn văn bản xuất hiện với màu chữ nhạt hơn một chút, màu đỏ nhạt. Có cái nào không
Tôi là một lập trình viên xuất sắc, rất giỏi!